小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
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的值.