mysql010函数使用.单行函数.多行函数

-- 函数使用

-- 1.单行函数 执行QSL语句时候 分别产生了一条记录影响的是多行。

-- 2.多行函数 执行QSL语句时候 只产生一条结果

-- 自己理解:多行函数,就是需要多条数据才能执行的结果。

-- max() min() sum() avg() count()

SELECT ENAME,LOWER(ENAME),UPPER(ENAME) FROM emp;

SELECT MAX(sal) from emp;

SELECT * from emp;

-- 字符类型函数

SELECT ENAME,LOWER(ENAME),UPPER(ENAME),JOB,REPLACE(JOB,"CLERK","A") FROM emp;

SELECT ENAME,LOWER(ENAME),UPPER(ENAME),JOB,REPLACE(JOB,"CLERK","员工") FROM emp;

-- SUBSTRING(ENAME,2,3) 从第二个字符开始,截取三个字符。

SELECT ENAME,SUBSTRING(ENAME,2,3) FROM emp;

-- 数值函数

-- 绝对值,向上取余,向下取余,四舍五入,取余数,pi 2的n次方,开方

SELECT ABS(-1),CEIL(3.2),FLOOR(3.9),ROUND(3.6),MOD(10,4),PI(),POW(2,5),SQRT(36) FROM emp;

-- 虚拟表

SELECT ABS(-1),CEIL(3.2),FLOOR(3.9),ROUND(3.6),MOD(10,4),PI(),POW(2,5),SQRT(36) FROM DUAL;

SELECT ABS(-1),CEIL(3.2),FLOOR(3.9),ROUND(3.6),MOD(10,4),PI(),POW(2,5),SQRT(36)

-- 日期函数

-- CURDATE()只含有年月日 CURTIME()只含有时分秒

-- NOW(),NOW(),SYSDATE(),CURRENT_DATE() 即含有年月日,又含有时分秒。

-- SLEEP(3)失眠3秒。

SELECT CURDATE(),CURTIME(),NOW(),SLEEP(3),NOW() FROM DUAL;

-- 提示:NOW(),SYSDATE()只有和sleep配合的使用,才会有区别,单纯获得年月日时分秒没有区别

SELECT NOW(),SYSDATE(),SLEEP(3),NOW(),SYSDATE();

-- 流程函数

select * FROM emp;

-- 需求1 SAL>1500 A sal>1200 B sal >500 C else D

-- SAL>1500 A sal>1200 B sal >500 C else D

SELECT ENAME,SAL,

       case

              WHEN SAL>=1500 THEN "A"

              WHEN SAL>=1200 THEN "B"

              WHEN SAL>=500 THEN "C"

              ELSE "D"

       END as "薪资等级"

FROM emp;

-- 需求2 这个月收入=SAL+COMM  COMM=NULL +=NULL

SELECT ENAME,SAL,if(SAL>=1500,"高收入","低收入") AS "薪资等级" from emp;

-- 判断当前数是否为null,如果不是null,返回comm,否则返回0;

SELECT ENAME,SAL,COMM,SAL+IFNULL(COMM,0) FROM emp;

-- 其他函数

SELECT DATABASE(),USER(),VERSION(),INET_ATON('192.168.10.1'),INET_NTOA(23322248815)

-- 多行函数,常用5个,MAX(),MIN(),SUM(),AVG(),COUNT()

-- 最大值,最小值,求和,平均数,总记录数

-- sum avg 仅限于数值类型(整数,浮点数)

SELECT MAX(SAL),MIN(SAL),SUM(SAL),AVG(SAL),COUNT(SAL) FROM emp;

SELECT COUNT(*) FROM emp;

-- ()中内容可以数据库中任意一列,也可以是*,也可以使用1或者别的表示。

-- count(1) 这种执行效率是最高的

SELECT COUNT(1) FROM emp;

-- 统计emp中有几个岗位job

SELECT * FROM emp;

-- 可以先去重复,然后在进行统计

SELECT COUNT(DISTINCT JOB) FROM emp;

-- 多行函数进行操作的时候,会自动忽视null字段

SELECT SUM(COMM) FROM emp;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值