MySQL(03)—常见函数

常见函数

1. 字符函数

image-20210818203807288

1.1 大小写控制函数

这类函数改变字符的大小写

函数 结果
LOWER(‘SQL Course’) sql course
UPPER(‘SQL Course’) SQL COURSE
1.2 字符控制函数
函数 结果
CONCAT(‘Hello’,’World’) HelloWorld
SUBSTR(‘HelloWorld’,1,5) Hello
LENGTH(‘HelloWorld’) 10
INSTR(‘HelloWorld’,’W’) 6
LPAD(salary,10,’*’) *****24000
RPAD(salary,10,’*’) 24000*****
TRIM(‘H’FROM’HelloWorld’) elloWorld
REPLACE(‘abcd’,’b’,’m’) amcd

2 数字函数

  • ROUND:四舍五入

    ROUND(45.926,2) ——> 45.93

  • TRUNCATE:截断

    TRUNC(45.926,2) ——> 45.92

  • MOD:求余

    MOD(1600,300) ——> 100

3. 日期函数

  • now:获取当前日期

  • str_to_date:将日期格式的字符转换成指定格式的日期

    str_to_date(‘9-13-1999’,’%m-%d-%Y’) 1993-09-13

  • date_format:将日期转化成字符

    date_format(‘2021/6/6’,’%Y年%m月%d日’) 2021年6月6日

序号 格式 功能
1 %Y 四位的年份
2 %y 2位的年份
3 %m 月份(01,02….11,12)
4 %c 月份(1,2…11,12)
5 %d 日(01,02)
6 %H 小时(24小时制)
7 %h 小时(12小时制)
8 %i 分钟(00,01….59)
9 %s 秒(00,01…..59)

4. 其他函数

5. 流程控制函数

5.1 条件表达式
  • 在SQL语句中使用IF-THEN-ELSE逻辑

  • 使用方法

    —CASE表达式

    在本需要使用IF-THEN-ELSE逻辑时

    1
    2
    3
    4
    5
    CASE expr WHEN comparison_expr1 THEN return_expr1
    [WHEN comparison_expr2 THEN return_expr2
    WHEN comparison_exprn THEN return_exprn
    ELSE else_expr]
    END
  • SELECT last_name, job_id, salary,
        CASE job_id WHEN 'IT_PROG' THEN 1.10*salary
                    WHEN 'ST_CLERK' THEN 1.15*salary
                    WHEN 'SA_REP' THEN 1.20*salary
        ELSE salary END "REVISED_SALARY"
    FROM employees;
    

    image-20210819091115579