函数
MySQL 提供了许多内置函数,用于执行各种任务,包括数据处理、字符串操作、日期和时间处理、数学运算等。
数值函数
- FLOOR(X):向下取整,获取小于等于 X 的最大整数
- CEILING(X):向上取整,获取大于等于 X 的最小整数
- ROUND(X):对 X 进行四舍五入
- TRUNCATE(X,D):返回数字 X,截断到 D 小数位
- ABS(X):返回 X 的绝对值
- MOD(X):返回两个数相除的余数
字符串函数
- LOWER():将字符串转成小写
- UPPER():将字符串转成大写
- CONCAT(S1,S2,S3,...):拼接S1/S2/S3/...
- LTRIM(COLNAME):去除 COLNAME 列左边的空格
- RTRIM(COLNAME):去除 COLNAME 列右边的空格
- TRIM(COLNAME):去除 COLNAME 列两边的空格
- LENGTH(COLNAME):获取 COLNAME 列内容的长度
- SUBSTRING(S1,2):从 S1 第 2 个字符开始,截取到最后
- SUBSTRING(S1,2,3):从 S1 第 2 个字符开始,截取 3 位
- DATE(HIREDATE):取 HIREDATE 的年月日
- YEAR(HIREDATE):取 HIREDATE 的年
- MONTH(HIREDATE):取 HIREDATE 的月份
- DAY(HIREDATE):取 HIREDATE 的日
分组函数
- GROUP BY:SELECT AVG(SAL) FROM EMP GROUP BY DEPTNO; --按部门分组求平均工资
- HAVING:SELECT AVG(SAL) avgSal FROM EMP GROUP BY DEPTNO HAVING avgSal > 1000; --按部门分组查询平均工资,并且平均工资大于 1000 的
- SUM(COLNAME):SELECT SUM(SAL) FROM EMP GROUP BY DEPTNO; --按部门求平均工资总和
- MAX(COLNAME):获取 COLNAME 列的最大值
- MIN(COLNAME):获取 COLNAME 列的最小值
- AGV(COLNAME):获取 COLNAME 列的平均值
- COUNT(COLNAME):获取 COLNAME 列不为 NULL 的行数
时间函数
- NOW():返回当前日期时间
- CURDATE():返回当前日期
- CURTIME():返回当前时间
- DATE_FORMAT():将日期格式化为指定的字符串
- DATEDIFF():计算两个日期之间的天数差
- DATE_ADD():两个日期相加
- DATE_SUB():两个日期相减
加密函数
- MD5():用于计算字符串的 MD5 值
- SHA1():用于计算字符串的 SHA1 哈希值