一、函数类型
- 单行函数
- 多行函数(聚合函数)
二、单行函数
- 字符函数
大小写处理函数 | |
lower('SQL Course') | 全部转小写 'sql course' |
upper('SQL Course') | 全部转大写 'SQL COURSE' |
initcap('SQL Course') | 单词首字母大写,其他小写'Sql Course' |
文本操作函数 | |
concat('Hello','World') | 文本合并 'HelloWorld' |
substr('HelloWorld',1,5) | 取文本前5个字节 Hello |
length('HelloWorld') | 返回文本长度 10 |
instr('HelloWorld',‘w’) | 返回参数所在位置 6 |
lpad(salary,10,'*') | 左填充 ******24000 |
rpad(salary,10,'*') | 右填充 24000****** |
trim('H',from 'HelloWorld') | 删除指定文本 elloWorld |
repalce(123456789,456,'***) | 替换文本123***789 |
- 数字函数
round(123.456,2) | 四舍五入指定位小数 123.46 |
trunc(123.456,2) | 截取指定位小数 123.45 |
mod(1600,300) | 取余 |
- 日期函数
months between('2020/10/08','2021/10/08') | 返回两个日期之间相差的月数 12 |
add_months(sysdate,1) | 在当前时间基础上加上1个月 |
next_day(sysdate,1) | 当前时间的下一个星期日(1~7,1为星期日) |
last_day(sysdate) | 返回当前月份的最后一天 |
round(sysdate,'months') | 四舍五入日期,第二个参数不填默认截取到天 |
trunc(sysdate,'mm') | 截取日期,截取到月,天数为默认值1 |
日期计算时:
date + n :从日期加或者减一个数,结果是一个日期值
date - date:两个日期相减,得到两个日期之间的天数
date + n/24:用小时数除以24,可以加小时到日期上
- 转换函数
从 | 到 |
varchar2 or char | number |
varchar2 or char | date |
number | varchar2 |
date | varchar2 |
日期格式:
CC、SCC | 世纪:世纪 、带-服务器前缀B.C. |
YYYY、SYYYY | 年:年、带-服务器前缀B.C. |
YYY、YY、Y | 年:年的最后3、2、1个数字 |
Y,YYY | 年:带标点的年 |
IYYY、IYY、IY、I | 年:基于IOS标准的4、3、2、1位数字年 |
YEAR、SYEAR | 年:拼写年、带-服务器前缀B.C. |
MM | 月:两位值 |
MONTH | 月:9位字符长度带空格填充的月 |
MON | 月:三字母缩写 |
RM | 月:罗马数字月 |
DAY | 天:9位字符长度带空格填充的天 |
DY | 天:三字母缩写 |
AM、PM | 正午指示 |
A.M、P.M | 带句点的正午指示 |
HH、HH12、HH24 | 小时、12制小时、24制小时 |
MI | 分钟(0-59) |
SS | 秒(0-59) |
SSSSS | 午夜之后的秒(0-86399) |
WW、W | 年、月的周期 |
DDD、DD、D | 年、月、周的天 |
Q | 四分之一年 |
J | 儒略日从公元前4713年12月31日开始的天数 |
BC、AD | B.C.A.D.指示器 |
B.C.A.D. | 带周期的B.C.A.D.指示器 |
其他格式
/ . , | 在结果中使用标点符号 |
“of the” | 在结果中使用引文串 |
TH | 序数(例如,DDTH 显示为 4TH) |
SP | 拼写出数字(例如,DDSP显示FOUR) |
SPTH or THSP | 拼写出序数(例如,DDSPTH显示为FOURTH) |