ORACLE中的SQL函数
一般可以分为数值函数,字符函数,日期函数,转换函数,聚集函数;
ABS(n)返回n的绝对值
CELL(n)返回大于等于n的最小整数
Exp(n)返回e的n次幂(e=2.7)
FLOOR(n)返回小于等于n的最小整数
LN(n)返回以e为底的n的对数
LOG(m,n)返回以m为底的n的对数
MOD(m,n)返回m除以n的余数
POWER(m,n)返回m的n次方
SIGN(n)判断n的正负,正数返回1,负数返回-1,0返回0
SQRT(n) 返回n的平方更
TRUNC(m[,n])对m进行操作(当n大于0时,表示截取小数点右边第n位
,当n省略时表示截取m的小数部分,当n大于0时表示截取到小数点左侧第n位)
字符函数
ASCII(char)返回字符串char的ASCII值
CAR(n)返回ASCII值为n的字符
CONNECT(char1 ,char2)返回char1与char2连接后的字符
INITCAP(char)将字符串的char的每个单词的首字母大写,其天小写
INSTR(char1,char2,[m,[n]])返回字符串char2在字符串char1中的位置m表示搜索的位置
N表示char2出现的次数
LENGTH(char)返回字符串char的长度
LOWER(char)将字符串的所有大写字母改为小写
LPAD(char1,n[char2])在字符串char1左侧填充字符串char2使其长度达到如果字符串的
Char1的字符串大于n则返回char1左边的n个字符
LTRIM(char[,set])去掉字符串char左侧包含set中的任何字符,直到第一个不在出现set中出现的字符为止
REPLACE(char1,char2,char3)在字符串将char1中的char2用char3代替并返回;
RPAD(char1,n(char2))在字符串char1右侧填充char2使其长度达到n。如果字符char1的长度大于n在返回char1左侧的n个字符;
RTRIM(char,[set])去掉字符串char右侧包含在set中的任何字符。直到不出现set为止
SUBSTR(char,m[n])用于获取字符串char的子串,m表示起始位置,n表示长度
TRANSLATE(char ,’from_string’,’to_string’)将字符串char的字符按照from_string到to_string转换
TREAT(expr AS [REF]sech.type)该表expr的变量声明
TRIM([leading|trailing|both])char 从字符string 的头,尾,或者两端截取字符
UPPER(char)将字符串的所有小写改为大写
日期函数
ADD_MONTHS(d,n)返回日期d添加n个月所对应的日期时间,n为正数表示增加日期,n为负数是表示减少日期
CURRENT_DATE返回当前对话时间
CURRENT_TIMESTAMP[(p)]返回当前会话对应的日期时间,p表示精度,可取0到9之间的一个整数,默认为6
DBTIMEZERO返回当前数据库的时区
EXTRACT(depart From d)从日期d中获取depart对应的部分内容。Depart可取年,月,日,等
LAST_DAY(d)返回d所在月份的最后一天日期
LOCALTIMESTAMP[(p)]返回当前会话时间
MONTHS_BETWEEN(d1,d2)返回d1,d2相差的月数
NEXT_DAY(d,string)返回日期d后的string指定的第一个工作日的所对应的日期
ROUND(d,[fmt])返回d的四舍五入结果
SESSIONTIMEZERO返回当前会话时区
SYSDATE返回系统时间
TO_CHAR(d,[,fmt][])将日期d返回特定格式的字符串
TRUNC(d,[fmt])返回截断日期时间数据
转换函数
CAST(expr AS datatype)将表达式expr按指定类型返回
TO_CAHR(char)转换为字符类型
TO_CHAR(d[,fmt][,’nlsparam])将日期d按照指定格式转换为VARCAHAR2类型的字符串
TO_CHAR(num[,fmt][,’nlsparam])将日期d按照指定格式转换为VARCAHAR2类型的字符串
TO_CLOB(char)将char转换为CLOB
TO_DATE(char[,fmt][,’nlsparam])将符合特定格式的字符串char转换为日期
其它函数
COALESC(espr1[,espr2]......)返回参数列表的第一个非空表达式的结果
DECODE(expr,search1,result1,...)返回expr相匹配,如果seach1=expr返回result1
NULLIF(expr1,expr2)比较二者是否相等,相等返回NULL,否则返回expr1
NVL(expr1,expr2)如果expr1为空返回expr2否则返回expr1;
NVL2(expr1,expr2,expr3)如上
UID返回用用户ID
USER返回当前数据库名