Oracle 常用函数详解

  |   0 评论   |   238 浏览

oracle 常用函数

1. 数值型常用函数

函数返回值样例结果
ceil(n)大于或等于数值n的最小整数select ceil(19.9) from dual;19
floor(n)小于等于数值n的最大整数select ceil(19.7) from dual;19
mod(m,n)m除以n的余数,若n=0,则返回mselect mod(8,5) from dual;3
power(m,n)m的n次方select power(3,3) from dual;27
round(n,m)将n四舍五入,保留小数点后m位select round(1234.5678,3) from dual;1234.568
sign(n)若n=0,则返回0,否则,n>0,则返回1,n<0,则返回-1select sign(-18) from dual;-1
sqrt(n)n的平方根select sqrt(81) from dual;9

2. 字符常用函数

函数返回值样例结果
initcap(char)把每个字符串的第一个字符换成大写select initcap('zhang yu') from dual;Zhang Yu
lower(char)整个字符串换成小写select lower('ZHANGYU') from dual;zhangyu
replace(char,str1,str2)字符串中所有str1换成str2select replace('AAABBBCCC','B','D') from dual;AAADDDCCC
substr(char,m,n)取出从m字符开始的n个字符的子串select substr('AAABBBCCC',1,5) from dual;AAABB
length(char)求字符串的长度select length('AAABBBCCC') from dual;9
char||char合并字符串select 'AAA'||'BBB' from dual;AAABBB

3. 日期常用函数

文档编辑日期为2019-04-19 14:54:20,下表结果列中的数据可能会有些许差异。

函数返回值样例结果
sysdate当前日期和时间select sysdate from dual;2019/4/19 14:52:25
last_day本月最后一天select last_day(sysdate) from dual;2019/4/30 14:53:04
add_months(d,n)当前日期d后推n个月select add_months(sysdate,5) from dual;2019/9/19 14:55:34
next_day(d,day)d后第一周指定day的日期select next_day(sysdate,'星期日') from dual; 注12019/4/21 15:02:53

4. to_char函数的全部用法

函数返回值样例结果
Y年份的最后一位select to_char(sysdate,'Y') from dual;9
YY年份的最后两位select to_char(sysdate,'YY') from dual;19
YYY年份的最后三位select to_char(sysdate,'YYY') from dual;019
YYYY年份select to_char(sysdate,'YYYY') from dual;2019
Q当前时间在当年的季度,例如1-3月为第一季度select to_char(sysdate,'Q') from dual;2
MM月份数select to_char(sysdate,'MM') from dual;4
RM月份的罗马表示select to_char(sysdate,'RM') from dual;IV
month用9个字符表示的月份名select to_char(sysdate,'month') from dual;注2四月
ww当年第几周select to_char(sysdate,'ww') from dual;16
w当年第几周select to_char(sysdate,'w') from dual;3
DDD当年第几天,一月一日为001 ,二月一日032select to_char(sysdate,'DDD') from dual;109
DD当月第几天select to_char(sysdate,'DD') from dual;19
D周内第几天select to_char(sysdate,'D') from dual;6

5. 其他函数

distinct 去重函数

1.distinct必须放在开头

wm_concat 列转行逗号分隔

注1:

如果Oracle客户端是中文环境,day可选择 星期一、星期二、星期三、星期四、星期五、星期六、星期日。
如果不确定自己的客户端环境语言可执行alter session set nls_date_language='SIMPLIFIED CHINESE'将客户端环境设置为中文。
如果Oracle客户端是英文环境,day可选择'Monday' 星期一、'Tuesday' 星期二、'wednesday'星期三、 'Thursday' 星期四、'Friday' 星期五、'Saturday' 星期六 、'Sunday' 星期日。如果不确定自己的客户端环境语言可执行alter session set nls_date_language='american'将客户端环境设置为英文。如需其他语言请搜索相关文档。

注2:

如果Oracle客户端是中文环境,结果为4月、5月类似的中文展示。
如果Oracle客户端是英文环境,结果为April、May类似的英文展示。修改语言环境请参照注1

评论

发表评论