⑥ 【MySQL函数】字符串函数、数值函数、日期函数、流程函数

末蓝、 2024-02-18 10:14 37阅读 0赞

在这里插入图片描述

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~
个人主页:.29.的博客
学习社区:进去逛一逛~

在这里插入图片描述

MySQL函数

  • ⑥ 字符串函数、数值函数、日期函数、流程函数
      1. 字符串函数
      1. 数值函数
      1. 日期函数
      1. 流程函数

⑥ 字符串函数、数值函数、日期函数、流程函数

1. 字符串函数

常见字符串函数

  • ①字符串拼接,将S1,S2,S3…凭借成一个字符串
    • CONCAT(S1,S2,…Sn)
  • ②将字符串str全部传换成小写
    • LOWER(str)
  • ③将字符串str全部转换成大写
    • UPPER(str)
  • ④左填充,用字符串pad对str的左边进行填充,达到n个字符串长度
    • LPAD(str,n,pad)
  • ⑤右填充,用字符串pad对str的右边进行填充,达到n个字符串长度
    • RPAD(str,n,pad)
  • ⑥去掉字符串头部和尾部的空格
    • TRIM(str)
  • ⑦返回从字符串str从start位置起的len长度的字符串
    • SUBSTRING(str,start,len)

2. 数值函数

常见数值函数

  • ①向上取整
    • CEIL(X)
  • ②向下取整
    • FLOOR(X)
  • ③返回x/y的模(余数)
    • MOD(X,Y)
  • ④返回0 - 1内的随机数
    • RAND()
  • ⑤求参数x的四舍五入,保留y位小数
    • ROUND(X,Y)
  • — 案例:通过数据库函数生成一个6位数的随机验证码
    SELECT LPAD(ROUND(RAND()*1000000,0),6,’0’);

3. 日期函数

常见日期函数

  • ①返回当前日期
    • CURDATE()
  • ②返回当前时间
    • CURTIME()
  • ③返回当前日期和时间
    • NOW()
  • ④获取指定date的年份
    • YEAR(date)
  • ⑤获取指定date的月份
    • MONTH(date)
  • ⑥获取指定date的日期
    • DAY(date)
  • ⑦返回一个日期/时间值加上一个时间间隔exper后的时间值
    • DATE_ADD(date,INTERVAL exper type)
  • ⑧返回起始时间date1和结束时间date2之间的天数
    • DATEDIFF(date1,date2)

4. 流程函数

流程函数

  • 流程函数是一类常用的函数,可以在SQL语句中实现条件筛选,从而提高语句的效率。
  • ①如果value为true,返回t,否则返回f
    • IF(value,t,f)
  • ②如果value不为空,返回value1,否则返回value2
    • IFNULL(value1,value2)
  • ③如果val1为true,返回res1,…否则返回default默认值,END结束
    • CASE
      WHEN [val1] THEN [res1]
      WHEN [val2] THEN [res2]

      WHEN [valn] THEN [resn]
      ELSE [default]
      END
  • ④如果exper的值等于val1,返回res1,…否则返回default默认值,END结束
    • CASE [expr]
      WHEN [val1] THEN [res1]
      WHEN [val2] THEN [res2]

      WHEN [valn] THEN [resn]
      ELSE [default]
      END
  • — 演示

    — 创建表,插入数据
    create table score(

    1. id int comment 'ID',
    2. name varchar(20) comment '姓名',
    3. math int comment '数学',
    4. english int comment '英语',
    5. chinese int comment '语文'

    ) comment ‘学员成绩表’;

    insert into score(id, name, math, english, chinese) VALUES (1, ‘Tom’, 67, 88, 95 ),
    (2, ‘Rose’ , 23, 66, 90),
    (3, ‘Jack’, 56, 98, 76);

  1. /*
  2. 统计班级各个学员的成绩,展示规则如下:
  3. >=85 展示优秀
  4. >=60 展示几个
  5. 否则 展示不及格
  6. */
  7. SELECT
  8. id,
  9. NAME,
  10. (CASE
  11. WHEN math >= 85 THEN '优秀'
  12. WHEN math >= 60 THEN '合格'
  13. ELSE '不及格' END) AS '数学',
  14. (CASE
  15. WHEN english >= 85 THEN '优秀'
  16. WHEN english >= 60 THEN '合格'
  17. ELSE '不及格' END) AS '英语',
  18. (CASE
  19. WHEN chinese >= 85 THEN '优秀'
  20. WHEN chinese >= 60 THEN '合格'
  21. ELSE '不及格' END) AS '语文'
  22. FROM score;
  23. --

在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,37人围观)

还没有评论,来说两句吧...

相关阅读