mysql学习之常用函数

    科技2022-07-10  142

    单行函数

    字符函数 1,CONCAT()函数

    含义: 将多个字符拼接成一个字符 用法: CONCAT(str1,str2,str3..),如果有一个参数为null,则返回null

    2,LENGTH()函数

    含义: 获取字节长度 用法: SELECT LENGTH('hello,郭襄')

    3,CHAR_LENGTH()函数

    含义: 获取字符个数 用法: SELECT CHAR_LENGTH('hello,郭襄');

    4,SUBSTRING/SUBSTR()函数

    含义: 截取字符串 用法: SELECT SUBSTR('张三丰爱上了郭襄',1,3); SELECT SUBSTR('张三丰爱上了郭襄',7); 注意: 起始索引从1开始!!! substr(str,起始索引,截取的字符长度) substr(str,起始索引)

    5,INSTR()函数

    含义: 获取字符第一次出现的索引 用法: SELECT INSTR('三打白骨精aaa白骨精bb白骨精','白骨精');

    6,TRIM()函数

    含义: 去前后指定的字符,默认是去空格 用法: SELECT TRIM(' 虚 竹 ') AS a; SELECT TRIM('x' FROM 'xxxxxx虚xxx竹xxxxxxxxxxxxxxxxxx') AS a;

    7,LPAD/RPAD()函数

    含义: 左填充/右填充 用法: SELECT LPAD('木婉清',10,'a'); SELECT RPAD('木婉清',10,'a');

    8,UPPER/LOWER()函数

    含义: 变大写/变小写 用法: SELECT UPPER('abc') SELECT LOWER('ABC');

    9,STRCMP()函数

    含义: 比较两个字符大小 用法: SELECT STRCMP('aec','aec');

    10,LEFT/RIGHT()函数

    含义: 截取子串 用法: SELECT LEFT('鸠摩智',1); SELECT RIGHT('鸠摩智',1);

    数学函数

    1,ABS()函数

    含义: 取绝对值 用法: SELECT ABS(-2.4);

    2,CEIL()函数

    含义: 向上取整 返回>=该参数的最小整数 用法: SELECT CEIL(-1.09); 返回-1 SELECT CEIL(0.09);返回1 SELECT CEIL(1.00);返回1

    3,FLOOR()函数

    含义: 向下取整,返回<=该参数的最大整数 用法: SELECT FLOOR(-1.09); 返回-2 SELECT FLOOR(0.09);返回0 SELECT FLOOR(1.00); 返回1

    4,ROUND()函数

    含义: 四舍五入 用法: SELECT ROUND(1.8712345); SELECT ROUND(1.8712345,2);

    5,TRUNCATE()函数

    含义: 截断 用法: SELECT TRUNCATE(1.8712345,1);

    6,MOD()函数

    含义: 取余 用法: SELECT MOD(-10,3); a%b = a-(INT)a/b*b -10%3 = -10 - (-10)/3*3 = -1

    日期函数

    1,NOW()函数

    含义: 获取系统日期和时间 用法: SELECT NOW();

    2,CURDATE()函数

    含义: 获取系统日期 用法: SELECT CURDATE();

    3,CURTIME()函数

    含义: 获取系统时间 用法: SELECT CURTIME();

    4,DATEDIFF()函数

    含义: 获取两个日期之间的天数 用法: SELECT DATEDIFF('1998-7-16','2019-7-13');

    5,DATE_FORMAT()函数

    含义: 将字符格式的日期转化为日期类型 用法: SELECT DATE_FORMAT('1998-7-16','%Y年%M月%d日 %H小时%i分钟%s秒') 出生日期;

    6,STR_TO_DATE()函数

    含义: 按指定格式解析字符串为日期类型 用法: SELECT STR_TO_DATE('3/15 1998','%m/%d %Y'); 返回 1998-03-15

    流程控制函数

    1,IF()函数

    含义: 根据判断条件返回指定的值 用法: SELECT IF(100>9,'好','坏');

    1,IF()函数

    含义: 根据判断条件返回指定的值 用法: SELECT IF(100>9,'好','坏');

    2,CASE函数

    ①情况1 :类似于switch语句,可以实现等值判断 CASE 表达式 WHEN 值1 THEN 结果1 WHEN 值2 THEN 结果2 ELSE 结果n END 案例: 部门编号是30,工资显示为2倍 部门编号是50,工资显示为3倍 部门编号是60,工资显示为4倍 否则不变 显示 部门编号,新工资,旧工资 SELECT department_id,salary, CASE department_id WHEN 30 THEN salary*2 WHEN 50 THEN salary*3 WHEN 60 THEN salary*4 ELSE salary END newSalary FROM employees; ②情况2:类似于多重IF语句,实现区间判断 CASE WHEN 条件1 THEN 结果1 WHEN 条件2 THEN 结果2 ELSE 结果n END 案例:如果工资>20000,显示级别A 工资>15000,显示级别B 工资>10000,显示级别C 否则,显示D SELECT salary, CASE WHEN salary>20000 THEN 'A' WHEN salary>15000 THEN 'B' WHEN salary>10000 THEN 'C' ELSE 'D' END AS a FROM employees;

    分组(聚合)函数

    1,COUNT()函数

    含义: 统计指定列不为NULL的记录行数 用法: SELECT COUNT(*) FROM EMPLOYEES

    2,MAX()函数

    含义: 计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算 用法: SELECT MAX(salary) FROM EMPLOYEES

    3,MIN()函数

    含义: 计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算 用法: SELECT MIN(salary) FROM EMPLOYEES

    4,SUM()函数

    含义: 计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0 用法: SELECT SUM(salary) FROM EMPLOYEES

    5,AVG()函数

    含义: 计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0 用法: SELECT AVG(salary) FROM EMPLOYEES
    Processed: 0.012, SQL: 8