暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

全面解读 MySQL 常用函数



MySQL 常用函数分类及示例:

数值计算函数:

  • ABS(x)
    :返回 x 的绝对值。示例:SELECT ABS(-5);
     结果:5。

  • CEILING(x)
    :向上取整。如:SELECT CEILING(3.14);
     结果:4。

  • FLOOR(x)
    :向下取整。如:SELECT FLOOR(3.8);
     结果:3。

  • RAND()
    :生成 0 到 1 之间的随机浮点数。

  • ROUND(x, d)
    :将 x 四舍五入到指定位数 d。如:SELECT ROUND(3.567, 2);
     结果:3.57。

  • TRUNCATE(x, d)
    :截取 x 到指定位数 d。如:SELECT TRUNCATE(3.567, 1);
     结果:3.5。

  • POWER(x, y)
    :计算 x 的 y 次幂。如:SELECT POWER(2, 3);
     结果:8。

  • SQRT(x)
    :计算 x 的平方根。如:SELECT SQRT(4);
     结果:2。

  • MOD(x, y)
    :返回 x 除以 y 的余数。如:SELECT MOD(10, 3);
     结果:1。

  • SIN(x)
    :正弦函数。示例:SELECT SIN(30 * PI() 180);
     结果:0.5。

  • COS(x)
    :余弦函数。如:SELECT COS(60 * PI() 180);
     结果:0.5。

  • TAN(x)
    :正切函数。

  • COT(x)
    :余切函数。

  • ASIN(x)
    :反正弦函数。

  • ACOS(x)
    :反余弦函数。

  • ATAN(x)
    :反正切函数。

  • DEGREES(x)
    :将弧度转换为角度。

  • RADIANS(x)
    :将角度转换为弧度。


字符串函数:

  • CONCAT(s1, s2,...)
    :连接多个字符串。如:SELECT CONCAT('Hello, ', 'World!');
     结果:"Hello, World!"。

  • SUBSTRING(s, start, length)
    :截取字符串。如:SELECT SUBSTRING('HelloWorld', 6, 5);
     结果:"World"。

  • LEFT(s, n)
    :从左边取 n 个字符。如:SELECT LEFT('Hello', 3);
     结果:"Hel"。

  • RIGHT(s, n)
    :从右边取 n 个字符。如:SELECT RIGHT('Hello', 2);
     结果:"lo"。

  • LENGTH(s)
    :字符串长度。如:SELECT LENGTH('Hello');
     结果:5。

  • UPPER(s)
    :转换为大写。如:SELECT UPPER('hello');
     结果:"HELLO"。

  • LOWER(s)
    :转换为小写。如:SELECT LOWER('HELLO');
     结果:"hello"。

  • TRIM(s)
    :去除首尾空格。如:SELECT TRIM(' Hello ');
     结果:"Hello"。

  • LTRIM(s)
    :去除左边空格。如:SELECT LTRIM(' Hello');
     结果:"Hello"。

  • RTRIM(s)
    :去除右边空格。如:SELECT RTRIM('Hello ');
     结果:"Hello"。

  • REPLACE(s, old, new)
    :替换字符串。如:SELECT REPLACE('Hello', 'e', 'a');
     结果:"Hallo"。

  • STRCMP(s1, s2)
    :比较字符串。

  • LOCATE(substr, str)
    :查找子串在字符串中的位置。如:SELECT LOCATE('l', 'Hello');
     结果:2。

  • SUBSTRING_INDEX(s, delim, count)
    :按分隔符截取。如:SELECT SUBSTRING_INDEX('a,b,c', ',', 2);
     结果:"a,b"。

  • CONCAT_WS(sep, s1, s2,...)
    :用指定分隔符连接。如:SELECT CONCAT_WS(',', 'a', 'b', 'c');
     结果:"a,b,c"。

  • FIELD(s, s1, s2,...)
    :返回 s 在列表中的位置。

  • FIND_IN_SET(s, str)
    :在逗号分隔的字符串中查找。


日期时间函数:

  • NOW()
    :当前日期时间。如:SELECT NOW();
     结果:如"2023-10-12 15:30:00"。

  • CURRENT_DATE()
    :当前日期。如:SELECT CURRENT_DATE;
     结果:"2023-10-12"。

  • CURRENT_TIME()
    :当前时间。如:SELECT CURRENT_TIME;
     结果:"15:30:00"。

  • DATE(s)
    :提取日期部分。如:SELECT DATE('2023-10-12 15:30:00');
     结果:"2023-10-12"。

  • TIME(s)
    :提取时间部分。如:SELECT TIME('2023-10-12 15:30:00');
     结果:"15:30:00"。

  • YEAR(s)
    :获取年份。如:SELECT YEAR('2023-10-12');
     结果:2023。

  • MONTH(s)
    :获取月份。如:SELECT MONTH('2023-10-12');
     结果:10。

  • DAY(s)
    :获取日。如:SELECT DAY('2023-10-12');
     结果:12。

  • HOUR(s)
    :获取小时。如:SELECT HOUR('2023-10-12 15:30:00');
     结果:15。

  • MINUTE(s)
    :获取分钟。如:SELECT MINUTE('2023-10-12 15:30:00');
     结果:30。

  • SECOND(s)
    :获取秒。如:SELECT SECOND('2023-10-12 15:30:00');
     结果:0。

  • DATE_ADD(date, INTERVAL expr unit)
    :日期增加。如:SELECT DATE_ADD('2023-10-12', INTERVAL 1 DAY);
     结果:"2023-10-13"。

  • DATE_SUB(date, INTERVAL expr unit)
    :日期减少。如:SELECT DATE_SUB('2023-10-12', INTERVAL 1 DAY);
     结果:"2023-10-11"。

  • DATEDIFF(d1, d2)
    :计算日期差。如:SELECT DATEDIFF('2023-10-12', '2023-10-10');
     结果:2。

  • FROM_UNIXTIME(t)
    :将 Unix 时间戳转换为日期时间。

  • TO_DAYS(date)
    :将日期转换为天数。


聚合函数:

  • SUM(column)
    :求和。如:SELECT SUM(salary) FROM employees;

  • AVG(column)
    :平均值。如:SELECT AVG(salary) FROM employees;

  • MIN(column)
    :最小值。如:SELECT MIN(salary) FROM employees;

  • MAX(column)
    :最大值。如:SELECT MAX(salary) FROM employees;

  • COUNT(*)
    :计数。如:SELECT COUNT(*) FROM employees;


转换函数:

  • CAST(value AS type)
    :进行类型转换。如:SELECT CAST('123' AS SIGNED);
     结果:123。

  • CONVERT(value, type)
    :类似 CAST。


条件判断函数:

  • IF(condition, value1, value2)
    :根据条件返回不同值。如:SELECT IF(1>2, '真', '假');
     结果:"假"。

  • IFNULL(expr1, expr2)
    :处理空值。如:SELECT IFNULL(NULL, '默认值');
     结果:"默认值"。

  • COALESCE(value1, value2,...)
    :返回第一个非空值。


其他函数:

  • CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ELSE default_result END
    :多条件判断。如:SELECT CASE WHEN age > 30 THEN '大龄' WHEN



点 击 下 方  关注+星标  公众号




文章转载自SQL 数据库入门学习,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论