单行函数
数值函数
基本函数
SELECT ABS(-123),ABS(32),SIGN(-23),SIGN(43),PI(),
CEIL(32.32),CEILING(-43.23),FLOOR(32.32), FLOOR(-43.23),
MOD(12,5) FROM DUAL;
SELECT RAND(),RAND(),RAND(10),RAND(10),RAND(-1),
RAND(-1) FROM DUAL;
SELECT ROUND(12.33),ROUND(12.343,2),
ROUND(12.324,-1),TRUNCATE(12.66,1),TRUNCATE(12.66,-1)
FROM DUAL;
角度与弧度互换函数
RADIANS(x) 将角度转化为弧度,其中,参数x为角度值
DEGREES(x) 将弧度转化为角度,其中,参数x为弧度值
三角函数
指数与对数
进制间的转换
字符串函数
注意:MySQL中,字符串的位置是从1开始的。
日期和时间函数
获取日期、时间
日期与时间戳的转换
获取月份、星期、星期数、天数等函数
日期的操作函数
EXTRACT(type FROM date) 返回指定日期中特定的部分,type指定返回的值
时间和秒钟转换的函数
计算日期和时间的函数
日期的格式化与解析
上述 非GET_FORMAT 函数中fmt参数常用的格式符:
mysql> SELECT DATE_FORMAT(NOW(), '%H:%i:%s');
SELECT STR_TO_DATE('09/01/2009','%m/%d/%Y') FROM DUAL;
SELECT STR_TO_DATE('20140422154706','%Y%m%d%H%i%s') FROM DUAL;
SELECT STR_TO_DATE('2014-04-22 15:47:06','%Y-%m-%d %H:%i:%s') FROM DUAL;
mysql> SELECT GET_FORMAT(DATE, 'USA');
SELECT DATE_FORMAT(NOW(),GET_FORMAT(DATE,'USA')), FROM DUAL;
mysql> SELECT STR_TO_DATE('2020-01-01 00:00:00','%Y-%m-%d');
流程控制函数
SELECT CASE 1
WHEN 1 THEN '我是1'
WHEN 2 THEN '我是2'
ELSE '你是谁'
SELECT employee_id,salary, CASE
WHEN salary>=15000 THEN '高薪'
WHEN salary>=10000 THEN '潜力股'
WHEN salary>=8000 THEN '屌丝'
ELSE '草根' END "描述" FROM employees;
SELECT oid,`status`, CASE `status`
WHEN 1 THEN '未付款'
WHEN 2 THEN '已付款'
WHEN 3 THEN '已发货'
WHEN 4 THEN '确认收货'
ELSE '无效订单' END FROM t_order;
加密与解密函数
加密与解密函数主要用于对数据库中的数据进行加密和解密处理,以防止数据被他人窃取。这些函数在保证数据库安全时非常有用。