DQL:单行函数与多行函数

1.单行函数:每一条记录输入值进行计算,并得到相应的计算结果,并返回给用户,即每条记录作为一个输入参数,经过函数计算得到每 条记录的计算结果。 常用的单行函数主要包括字符串函数数值函数日期与时间函数流程函数以及其他函数。

(1)字符串函数(部分):lower(str) upper(str) substring(str,index1,index2)

select ename,job,lower(ename),upper(ename),lower(job) from emp;-- 大小写转换

在这里插入图片描述

select substring(ename,1,3) from emp;

在这里插入图片描述
(2)数值函数(部分):abs()返回绝对值; ceil()向上取整; floor()向下取整;roung()保留整数

select abs(-9),ceil(5.4),floor(5.6),round(3.94);-- 如果没有where则from dual可以省略

在这里插入图片描述
以此类推

select abs(-9),ceil(-5.4),floor(-5.6),round(3.14) from dual; -- dual 伪表(方便练习)
select 10/3,10%3 ,mod(10,3) from dual;

(3)时间与日期函数(部分)

select curdate(),curtime(); -- 返回当前日期,当前时间

在这里插入图片描述

select now(),sysdate(),sleep(3),now(),sysdate() from dual --  now()返回当前的时间及日期  sysdate()返回函数执行时的时间和日期

在这里插入图片描述
(4)流程函数(部分)

select empno,ename,sal,if(sal>=1500,"high","low") as grade  from emp order by sal;--  if-else

在这里插入图片描述

select empno ,ename,sal,comm ,sal+ifnull(comm,0)from emp --  ifnull()

在这里插入图片描述

select nullif(1,1) ,nullif(1,2) -- 如果相等就返回null,不相等就返回第一个数
select empno,ename,job,-- case等值判断
 case job 
		 when 'CLERK' then '店员'
		 when 'SALESMAN' then '销售'
		 when 'MANAGER' then '经理'
		 else  '其他'
 end   '岗位', 
 sal from emp

在这里插入图片描述

select empno,ename,sal,
case 
   when  sal<1000  then "A"
   when   sal <2000 THEN "B"
   when   sal<3000 THEN "C"
   else "D"
end as 等级
from emp

在这里插入图片描述
2.多行函数:指对一组数据进行运算,针对这一组数据(多行记录)只返回一个结果,也称为分组函数。
COUNT() 统计表中记录的数目
SUM() 计算指定字段值的总和
AVG() 计算指定字段值的平均值
MAX() 统计指定字段值的最大值
MIN() 统计指定字段值的最小值

select count(*) from emp;-- 统计表的记录数
select max(sal),min(sal),count(sal),sum(sal),avg(sal) from emp

在这里插入图片描述
注意:
多行函数会自动的排除null值
max() min() count() 适合于所有数据类型
sum avg 仅限于 数值类型(整数 浮点)
多行函数会更多的用在分组查询中 group by

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值