Mysql中的SQL函数

算术函数

  • ABS :取绝对值
  • MOD:取余
  • ROUND:四舍五入时指定小数点位数
1
2
3
4
5
SELECT ABS(-1);  # 结果为 1

SELECT MOD(22,5); # 22%5 结果为 2

SELECT ROUND(15.43,1); # 结果为 15.4

字符串函数

  • CONCAT: 将多个字符串连接起来
  • LENGTH: 计算字段的长度,一个汉字算三个字符,字母和数字算一个字符
  • CHAR_LENGTH:所有都算做一个字符
  • LOWER:全部转为小写
  • UPPER:全部转为大写
  • REPLACE:替换字符
  • SUBSTRING:截取字符串(字符串, 开始截取位置, 截取长度)
    1
    2
    3
    4
    5
    6
    7
    SELECT CONCAT("%","pibigstar"); # 结果为 %pibigstar
    SELECT LENGTH("你好"); # 结果为 6
    SELECT CHAR_LENGTH("你好"); # 结果为 2
    SELECT LOWER("AB"); # 结果为 ab
    SELECT UPPER("ab") # 结果为 AB
    SELECT REPLACE("abc","a", "f"); # 结果为 fbc
    SELECT SUBSTRING("abc", 1, 2); # 结果为 ab

日期函数

  • CURRENT_DATE:系统当前日期
  • CURRENT_TIME:系统当前时间
  • CURRENT_TIMESTAMP:系统当前时间(日期+时间)
  • ECTRACT:抽取具体的年、月、日
  • DATE:返回时间的日期部分
  • YEAR:返回时间的年份部分
  • MONTH:返回时间的月份部分
  • DAY:返回时间的天数部分
  • HOUR:返回时间的小时部分
  • MINUTE:返回时间的分钟部分
  • SECOND: 返回时间的秒部分
    1
    2
    3
    4
    5
    6
    SELECT CURRENT_DATE(); # 2019-06-29
    SELECT CURRENT_TIME(); # 21:44:33
    SELECT CURRENT_TIMESTAMP(); # 2019-06-29 21:44:33
    SELECT EXTRACT(YEAR FROM '2019-06-29'); # 2019
    SELECT DATE('2019-06-29 21:44:33'); # 2019-06-29
    SELECT DAY('2019-06-29 21:44:33'); # 29

转换函数

  • CAST:强制数据类型转换
  • COALESCE:返回第一个非空数值
    1
    2
    SELECT CAST(65.243 AS DECIMAL(8,2)); # 65.24
    SELECT COALESCE(null,null,2,3); # 2

聚合函数

  • SUM:求和
  • AVG:求平均值
  • MAX:找出最大值
  • MIN:找出最小值
  • COUNT:计数
    1
    2
    3
    4
    5
    6
    7
    SELECT SUM(age) FROM user;
    SELECT AVG(age) FROM user;
    SELECT MAX(age) FROM user;
    SELECT MIN(age) FROM user;
    SELECT COUNT(*) FROM user; # 计录全部行数,包括null
    SELECT COUNT(age) FROM user; # 如果age为null,将过滤
    SELECT COUNT(*) FROM user GROUP BY age;

在SELECT的查询中,关键字的顺序不能颠倒,它们的顺序为:

1
SELECT...FROM...WHERE...GROUP BY...HAVING...ORDER BY...LIMIT...
-------------本文结束感谢您的阅读-------------