Mysql常用函数整理

521 阅读3分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

Mysql中的函数大致分为算术函数、字符串函数、日期函数、转换函数和聚合函数...

  • 算术函数(用来进行数值计算的函数)
  • 字符串函数(用来进行字符串操作的函数)
  • 日期函数(用来进行日期操作的函数)
  • 转换函数(用来转换数据类型和值的函数)
  • 聚合函数(用来进行数据聚合的函数)

算术函数

除了最常使用的 +(加法) -(减法) *(乘法) /(除法)

ABS - 绝对值

ABS(数值)

ABS是计算绝对值的函数.绝对值不考虑值的符号,表示一个数到原点的距离.简单来说,绝对值的计算方式就是:0和正数的绝对值就是其本身,负数的绝对值就是去掉符号后的结果.

MOD - 求余

MOD(被除数,除数)

3/2的余数是1,因此MOD(3,2)的结果也是1,因为小数计算中并没有余数的概念,所以只能对整数类型的列使用该函数

ROUND - 四舍五入

ROUND(对象数值,保留小数的位数)

如果指定四舍五入的位数为1,那么就会对小数点第二位进行四舍五入处理.如果指定位数为2,那么就会对第三位进行四舍五入处理.

字符串函数

|| - 拼接

字符串1 || 字符串2

例如: abc || d => abcd

LENGTH - 字符串长度

LENGTH(字符串)

获取该字符串包含多少个字节.需要注意的汉字这样的全角字符会算2个字节.

LOWER - 小写转换

LOWER(字符串)

该函数只针对英文字母,将参数中的字符串全部转换为小写.原来就是小写的字符并不影响该函数

REPLACE - 字符串替换

REPLACE(对象字符串,替换前的字符串,替换后的字符串)

可以将字符串的一部分替换为其他的字符串

SUBSTRING - 字符串的截取

SUBSTRING(对象字符串 FROM 截取的起始位置 FOR 截取的字符数)

截取的位置从字符串最左侧开始计算 该函数也存在汉字多字节字符的问题.

UPPER - 大写转换

UPPER(字符串)

同转小写函数.只是将英文字母全部转换为大写

日期函数

CURRENT_DATE - 当前日期

CURRENT_DATE

返回SQL执行的日期

CURRENT_TIME - 当前时间

CURRENT_TIME

返回SQL执行的时间

CURRENT_TIMESTAMP - 当前日期和时间

CURRENT_TIMESTAMP

具有函数CURRENT_DATE + CURRENT_TIME的功能.

EXTRACT - 截取日期元素

EXTRACT(日期元素 FROM 日期)

可以截取出日期数据的一部分,例如"年","月","小时"等 返回值是数值类型

转换函数

CAST - 类型转换

CAST(转换前的值 AS 想要转换的数据类型)

字符串转换整数类型时,前面"00"会消失,而字符串转换日期类型时,表面上看不出来变化,但其实类型已经转变

COALESCE - 将NULL转换为其他值

COALESCE(数据1,数据2,数据3....)

该函数会返回可变参数中左侧开始第一个不是NULL的值.