• MySQL之函数


    目录

    一、常用函数

    二、流程控制函数

    三、合并(union)


    一、常用函数

    1、字符函数

    作用函数结果
    转小写LOWER('SQL Course')sql course
    转大写UPPER('SQL Course')SQL COURSE
    拼接CONCAT('Hello', 'World')HelloWorld
    截取SUBSTR('HelloWorld',1,5)Hello
    长度LENGTH('HelloWorld')10
    字符出现索引值INSTR('HelloWorld', 'W')6
    字符截取后半段TRIM('H' FROM 'HelloWorld')elloWorld
    字符替换REPLACE('abcd','b','m')amcd

     字符函数案例:

    1. 1.length 获取参数值的字节个数
    2. SELECT LENGTH('john');
    3. SELECT LENGTH('小朱小朱小猪猪');
    4. SHOW VARIABLES LIKE '%char%'
    5. 2.concat 拼接字符串
    6. SELECT CONCAT(last_name,'_',first_name) 姓名 t_mysql_FROM employees;
    7. 3.upper、lower
    8. SELECT UPPER('john');
    9. SELECT LOWER('joHn');
    10. 示例:将姓变大写,名变小写,然后拼接
    11. SELECT CONCAT(UPPER(last_name),LOWER(first_name)) 姓名 FROM t_mysql_employees;
    12. 4.substr、substring
    13. 注意:索引从1开始
    14. 截取从指定索引处后面所有字符
    15. SELECT SUBSTR('abcccccccccccc',7) out_put;
    16. 截取从指定索引处指定字符长度的字符
    17. SELECT SUBSTR('小朱小朱胖乎乎',1,3) out_put;
    18. 案例:姓名中首字符大写,其他字符小写然后用_拼接,显示出来
    19. SELECT CONCAT(UPPER(SUBSTR(last_name,1,1)),'_',LOWER(SUBSTR(last_name,2))) out_put
    20. FROM t_mysql_employees;5.instr 返回子串第一次出现的索引,如果找不到返回0
    21. SELECT INSTR('aaabbbb','aaa') AS out_put;
    22. #6.trim
    23. SELECT LENGTH(TRIM('  朱佳音  ')) AS out_put;
    24. SELECT TRIM('aa' FROM 'aaaaaaaaa朱aaaaaaaaaaaa佳音aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa') AS out_put;
    25. 7.lpad 用指定的字符实现左填充指定长度
    26. SELECT LPAD('小朱',2,'*') AS out_put;
    27. 8.rpad 用指定的字符实现右填充指定长度
    28. SELECT RPAD('小朱',12,'ab') AS out_put;
    29. 9.replace 替换
    30. SELECT REPLACE('小朱爱睡觉','小朱','熊二') AS out_put;

    2、数字函数

    作用函数结果
    四舍五入ROUND(45.926, 2)45.93
    截断TRUNC(45.926, 2)45.92
    求余MOD(1600, 300)100

    数学函数案例: 

    1. round 四舍五入
    2. SELECT ROUND(-1.55);
    3. SELECT ROUND(1.567,2);
    4. #ceil 向上取整,返回>=该参数的最小整数
    5. SELECT CEIL(-1.02);
    6. #floor 向下取整,返回<=该参数的最大整数
    7. SELECT FLOOR(-9.99);
    8. #truncate 截断
    9. SELECT TRUNCATE(1.69999,1);


     

    3、日期函数

    作用函数结果
    获取当前日期now()
    将日期格式的字符转换成指定格式的日期STR_TO_DATE('9-13-1999','%m-%d-%Y')1999-09-13
    将日期转换成字符DATE_FORMAT(‘2018/6/6’,‘%Y年%m月%d日’)2018年06月06日

     日期函数案例:

    1. now 返回当前系统日期+时间
    2. SELECT NOW();
    3. curdate 返回当前系统日期,不包含时间
    4. SELECT CURDATE();
    5. curtime 返回当前时间,不包含日期
    6. SELECT CURTIME();
    7. 可以获取指定的部分,年、月、日、小时、分钟、秒
    8. SELECT YEAR(NOW()) 年;
    9. SELECT YEAR('1998-1-1') 年;
    10. SELECT YEAR(hiredate) 年 FROM t_mysql_employees;
    11. SELECT MONTH(NOW()) 月;
    12. SELECT MONTHNAME(NOW()) 月;
    13. str_to_date 将字符通过指定的格式转换成日期
    14. SELECT STR_TO_DATE('1998-3-2','%Y-%c-%d') AS out_put;
    15. date_format 将日期转换成字符
    16. SELECT DATE_FORMAT(NOW(),'%y年%m月%d日') AS out_put;


     

    4、其他函数

    SELECT VERSION();
    SELECT DATABASE();
    SELECT USER();

     二、流程控制函数


    1.if函数: if else 的效果

    1. SELECT IF(10<5,'大','小');
    2. SELECT last_name,commission_pct,IF(commission_pct IS NULL,'没奖金,呵呵','有奖金,嘻嘻') 备注
    3. FROM t_mysql_employees;


    2.case函数的使用一: switch case 的效果

    1. java中
    2. switch(变量或表达式){
    3. case 常量1:语句1;break;
    4. ...
    5. default:语句n;break;
    6. }
    7. mysql中
    8. case 要判断的字段或表达式
    9. when 常量1 then 要显示的值1或语句1;
    10. when 常量2 then 要显示的值2或语句2;
    11. ...
    12. else 要显示的值n或语句n;
    13. end

    三、合并(union)

    1、union:将所有的查询结果合并在一起,然后去除掉相同的记录

    2、union All:将所有的查询结果合并在一起,不会去除掉相同的记录

    前提条件:结果集列数个数相同,列的类型也要相同或者兼容

    应用场景:项目报表模块,合并数据

  • 相关阅读:
    写一个简单的网站步骤
    GEE python:给矢量集合中的各个矢量添加属性信息和随机值
    【论文笔记】基于生成对抗网络的强化学习算法的研究
    YoloV5+TensorRT封装|C#调用dll实现V5+TRT目标检测
    Mysql主从切换流程
    swagger 接口测试,用 python 写自动化时该如何处理?
    快速排序与冒泡排序以及代码
    分割模型TransNetR的pytorch代码学习笔记
    2流高手速成记(之七):基于Dubbo&Nacos的微服务简要实现
    Android组件化架构搭建
  • 原文地址:https://blog.csdn.net/m0_67477525/article/details/125606340