一、字符串函数
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可以是任何数据类型