您的位置:首页 > 数据库 > Oracle

Oracle常用的数据操作函数

2015-10-27 21:37 351 查看
一、字符串函数

CONCAT(char1,char2):用于将两个字符串连接在一起

|| :在数据库中||用于连接字符串,相当于java中的+,如果在连接中遇到NULL则连接一个空格

LENGTH(char):用于返回字符串的字符长度,char返回char设定的长度,VARCHAR2返回字符串的真实长度。

UPPER(char):用于将字符串转换为纯大写形式

LOWER(char):用于将字符串转换为纯小写形式

INITCAP(char):用于将字符串中每个单词的首字母大写,其他字母小写。字符与

字符之间是用分号隔开的若输入的是NULL,则返回NULL。

TRIM(c2 FROM c1):从c1的前后截去c2,c2只能是单一的字符(字母),不能是字符串

TRIM(c1):去除c1前后的空白

LTRIM(c1,c2):去除c1左边的c2字符

LTRIM(c1):去除c1左边的空白,等价于TRIM(leading c1)

RTRIM(c1,c2):去除c1右边的c2字符

RTRIM(c1):去除c1右边的空白,等价于TRIM(trailing c1)

LPAD(char1,n,char2):在字符串char1的左端用char2补足到n位。

RPAD(char1,n,char2):在字符串char1的右端用char2补足到n位。

SUBSTR(char,m,n):从char字符串的m位置开始截取n个长度的子串(字符是以1开始的)

若m=0,则从首字符开始截取;若m取负数,则从尾部开始截取。

若没有n则截取到字符串末尾,若n超过了char的长度则截取到字符串末尾为止。

INSTR(char1,char2,n,m):从char1的n位置开始搜索char2在char1中第m次出现的位置。

若无m,则检索第一次出现char2的位置,未找到则返回0;

二、数学函数

ROUND(n,m):将n按m要求进行4舍5入。(m必须是整数,若缺省,则默认为0)

4舍5入有以下几种情况:

m为整数:四舍五入到小数点后的m位

m=0:四舍五入到整数位(个位)

m为负数:四舍五入到小数点前的|m|位

TRUNC(n,m):将n按m的要求截取。(m必须是整数,若缺省,则默认为0)

m为整数:保留小数点后m位

m为0:保留整数位

m为负数:保留小数点前m位

MOD(m,n):返回m除以n后的余数。若n为0时,则返回m。

CEIL(n):取大于或等于n的最小整数值

FLOOR(n):取小于或等于n的最大整数值

三、日期操作

TO_DATE:将字符串按照指定格式转换为日期格式

格式为:TO_DATE(char,fmt,nlsparams)

其中char为要转换的字符串,fmt为日期的格式,nlsparams为指定日期的语言(可以缺省)

若fmt缺省则认为使用默认日期格式:YYYY-MM-DD

两个日期是可以进行减法运算的,差值为它们相差的天数

TO_CHAR:将其他类型的数据按指定格式转换为字符串类型

格式为:TO_CHAR(date,fmt,nlsparams)

fmt和nlsparams都可以缺省

在fmt中出现的非关键字和非特殊符号需要用双引号包括起来

LAST_DAY(date):返回日期所在月的最后一天

ADD_MONTHS(date,i):返回日期加上i个月后的日期值

i可以是任何数,当为小数时,先截取其整数,再进行计算

MONTHS_BETWEEN(date1,date2):计算date1和date2之间间隔多少月

date1-date2,除非两个日期间隔为整数,否则会得到小数结果,我们只取其整数

NEXT_DAY(date,char):返回距离时间(date)最近的星期几(char)。(返回的是下一个周几,周日为1)

如果date刚好是char则返回下一周的char。

eg:SELETE NEXT_DAY(sysdate,5)FROM DUAL

获取距离当前时间最近的周4,若当前时间为周4,则返回下周4的日期

LEAST(expr1,expr2,...,exprn):获取列举的最小参数值

GREATEST(expr1,expr2,...,exprn):获取列举的参数最大值

参数的类型必须一致,在比较前,系统将其他参数向第一个参数类型转换,若不能转换则会报错

EXTRCT(date FROM datetime):从datetime中截取date指定的数据

四、空值函数

任何数据类型均可取值NULL,但NULL不等于任何值

在数据库中不能用=和!=连接NULL值,应该使用IS NULL和NOT NULL

NULL和任何数字运行仍为NULL,NULL与字符串连接仍为原字符串

NVL(expr1,expr2):若expr1不为NULL,则返回expr1,

若expr1为NULL则返回expr2

expr1和expr2的数据类型必须一致

NVL2(expr1,expr2,expr3):若exper1为NULL则返回expr3,

若expr1不为NULL则返回expr2

expr2和expr3可以是任何数据类型
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: