一.单行函数和多行函数的概述
单行函数:指的是作用域为一行,返回一个值。
多行函数:指的是作用域为多行,返回一个值。
二.单行函数【字符函数】
1.将字符串变大写
(1)语法
select upper('字符串内容') from dual;
(2)范例
2.将字符串变小写
(1)语法
select lower('字符串内容') from dual;
(2)范例
三.单行函数【数值函数】
1.四舍五入
(1)语法
--round关键字四舍五入,参数2是指小数点保留的位数
select round(数值,位数) from dual;
(2)范例
2.向下取整
(1)语法
--向下取整,参数一是数值,参数二是指小数点保留的位数
select trunc(数值,位数) from dual;
(2)范例
(3)细节【反向保留】
3.求余
(1)语法
--mod求余,参数一是被求余的数值,参数二是求余的数值
select mod(数值一,数值二) from dual;
(2)范例
四.单行函数【日期函数】
0.语法
--查询emp表中员工日期距离当前日期差几天,查询语句单位是天
select sysdate-指定日期 from emp e;
--算出明天此刻时间,sysdate是当前时间
select sysdate+1 from dual;
--查询emp表中员工日期距离当前日期差几月,查询语句单位是月
select months_between(sysdate,指定日期) from emp e;
--查询emp表中员工日期距离当前日期差几月,查询语句单位是年
select months_between(sysdate,指定日期)/12 from emp e;
--查询emp表中员工日期距离当前日期差几月,查询语句单位是月
select (sysdate-指定日期)/7 from emp e;
1.当前日期距离指定日期相差几天【当前时间】
2.算出明天此刻时间
3.当前日期距离指定日期相差几月
4.当前日期距离指定日期相差几年
5.当前日期距离指定日期相差几周
五.转换函数
0.语法
--转换函数
--日期转换函数:格式中不区分大小写,时分秒的格式写法:hh:mi:ss
select to_char(sysdate,'yyyy-mm-dd hh:mi:ss') from dual;
--日期中忽略0的显示格式:格式中添加fm,参数一是指定日期,参数二是日期格式
select to_char(sysdate,'fm yyyy-mm-dd hh:mi:ss') from dual;
--字符串转换为日期类型,参数一是指定日期,参数二是日期格式
select to_date('2020-4-8 4:23:13','fm yyyy-mm-dd hh:mi:ss') from dual;
1.日期转换
2.字符串转换日期
六.通用函数
1.语法
--算出emp表中每个员工的所有年薪
select e.sal*12 from emp e;
--通用函数
--算出emp表中每个员工的所有年薪和奖金
--注意:如果列中的数值为null值,则运算结果为null
--nvl(指定列名,被替换的数值) 作用是将null值替换指定数值
select e.sal*12+nvl(e.comm,0) from emp e;