sql中的函数总结

来源:互联网 发布:linux文件目录介绍 编辑:程序博客网 时间:2024/06/05 12:43
一、在字符串上的单值函数
lower(s1):将字符串转换成小写
upper(s1):将字符串转换成大写
initcap(s1):将字符串转换成首字母大写,其他字母小写
concat(s1,s2):将两个字符串拼接成一个字符串
substr(s1,n1,n2):求子串
第一个参数是母串,第二个参数是子串的起始位置,第三个参数是子串长度
length(s1):求字符串的长度
nvl(s1):处理空值的函数
二、在数字上的单值函数
round(n1,n2):四舍五入,第一个数字是要操作的书,第二个数表示保留几位小数,默认为0
例如:select round(45.89) from dual; //46
trunc(n1,n2):只舍不取,第一个数字是要操作的书,第二个数表示保留几位小数,默认为0
例如:select trunc(45.89,1) from dual; //45.8
mod(n):取余
三、在日期上的单值函数
日期的默认格式是:DD-MON-YY

months_between(date1,date2):两个日期相差的月数
add_months(date1,n):在一个日期上加上一个月数之后的日期
next_day(date1,"星期几"):即将来临的星期几是多少号
select next_day(sysdate,'friday')
from dual;
last_day(date):一个日期所在这个月的最后一天的日期
select last_day('14-SEP-18')
from dual;
round:四舍五入
根据month进行四舍五入,应该看天
还是根据year进行四舍五入,应该看月
select round(to_date('16-JUN-17'),'month')
from dual;
select round(to_date('16_JUL-17'),'year')
from dual;
trunc:只舍不取
根据month进行只舍不取,应该看天
根据year进行只舍不取,应该看月
四、函数转换
to_char:将数字类型或者日期类型转换成字符串类型
1)将数字类型转换成字符串类型(钱)
to_char(number,'格式')
select to_char(salary,'fmL000.00')
from s_emp;
$:西方人显示货币的符号
L:显示本地的货币的符号
,:经行分割
.:小数点
9:不满位数时,不会强制补齐
0:不满位数时,会强制补齐
fm:清楚前面空格或者0
注意,定义字符串的长度大于或者等于数值的长度,否则会显示#
2)将日期类型转换成字符串类型()
select to_char(sysdate,'YYYY-MM-DD')
from dual;
to_number:将字符串类型转换成数字类型
select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS AM')
from dual;
to_date:将字符串类型转换成日期类型
YY制
RR制
注:dual是一张哑表,没有任何实际意义
1)用来满足select语句的格式
2)用来测试函数