MySQL常用函数整理
2016-05-30 21:42
375 查看
一、数学函数
CEILING(x) 返回大于或等于x的最小整数值 //eg. CEILING(1)=1 CEILING(1.2)=2
FLOOR(x) 返回小于或等于x的最大整数值 //eg. CEILING(1)=1 CEILING(1.2)=1
GREATEST(x1,x2,...,xn) 返回集合中最大的值
LEAST(x1,x2,...,xn) 返回集合中最小的值
RAND() 返回0到1内的随机值,可以通过提供一个参数(种子)使RAND()随机数生成器生成一个指定的值。
ROUND(x,y) 返回参数x的四舍五入的有y位小数的值
TRUNCATE(x,y) 返回数字x截断为y位小数的结果
二、聚合函数(常用于GROUP BY从句的SELECT查询中)
AVG(col) 返回指定列的平均值
COUNT(col) 返回指定列中非NULL值的个数
MIN(col) 返回指定列的最小值
MAX(col) 返回指定列的最大值
SUM(col) 返回指定列的所有值之和
GROUP_CONCAT(col) 返回由属于一组的列值连接组合而成的结果
三、字符串函数
CONCAT(s1,s2...,sn) 将s1,s2...,sn连接成字符串
CONCAT_WS(sep,s1,s2...,sn) 将s1,s2...,sn连接成字符串,并用sep字符间隔
INSERT(str,x,y,instr) 将字符串str从第x位置开始,y个字符长的子串替换为字符串instr,返回结果
LCASE(str)或LOWER(str) 返回将字符串str中所有字符改变为小写后的结果
UCASE(str)或UPPER(str) 返回将字符串str中所有字符转变为大写后的结果
LENGTH(s) 返回字符串str中的字符数
TRIM(str) 去除字符串首部和尾部的所有空格
SUBSTRING(str, pos) 截取字符串
SUBSTRING(str, pos, length) 截取字符串
REVERSE(str) 返回颠倒字符串str的结果
LEFT(str,x) 返回字符串str中最左边的x个字符
RIGHT(str,x) 返回字符串str中最右边的x个字符
四、日期和时间函数
NOW() 返回当前的日期和时间
CURDATE()或CURRENT_DATE() 返回当前的日期(年月日)
CURTIME()或CURRENT_TIME() 返回当前的时间(时分秒)
%Y 年,4 位
%m 月,数值(00-12)
%d 月的天,数值(00-31)
%H 小时 (00-23)
%i 分钟,数值(00-59)
%s 秒(00-59)
%y 年,2 位
%c 月,数值(0-12)
%e 月的天,数值(0-31)
日期格式化函数
DATE_FORMAT(date,fmt)
例如:
SELECT DATE_FORMAT('2015-01-01','%Y-%m-%d')
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d')
天数转换函数
TO_DAYS(date), FROM_DAYS(days)
例如:
SELECT TO_DAYS('2015-01-01') -- 735964
SELECT FROM_DAYS(735964) -- 2015-01-01
秒数转换函数
UNIX_TIMESTAMP(),UNIX_TIMESTAMP(date),
FROM_UNIXTIME(unix_timestamp),
FROM_UNIXTIME(unix_timestamp,fmt)
例如:
SELECT UNIX_TIMESTAMP()-- 1442818062
SELECT UNIX_TIMESTAMP(NOW()) -- 1442818062
SELECT UNIX_TIMESTAMP('2015-01-01') -- 1420041600
SELECT UNIX_TIMESTAMP('2015-01-01 00:00:00') -- 1420041600
SELECT FROM_UNIXTIME(1420041600) -- 2015-01-01 00:00:00
SELECT FROM_UNIXTIME(1420041600,'%Y%m%d'); -- 20150101
两个时间相减
TIMEDIFF(date,date)
例如:
SELECT TIMEDIFF(CURRENT_TIME(),CURRENT_TIME())
SELECT TIMEDIFF('12:00:00','11:00:00')
两个日期相减
DATEDIFF(date,date)
例如:
SELECT DATEDIFF(CURRENT_DATE(),CURRENT_DATE())
SELECT DATEDIFF('2015-01-02','2015-01-01')
日期加
DATE_ADD(date,exp)
例如:
SELECT DATE_ADD(NOW(), interval 1 year)
SELECT DATE_ADD(NOW(), interval 1 month)
SELECT DATE_ADD(NOW(), interval 1 week)
SELECT DATE_ADD(NOW(), interval 1 day)
SELECT DATE_ADD(NOW(), interval 1 hour)
SELECT DATE_ADD(NOW(), interval 1 minute)
SELECT DATE_ADD(NOW(), interval 1 second)
日期减
DATE_SUB(date,exp)
例如:
SELECT DATE_SUB(NOW(), interval 1 year)
SELECT DATE_SUB(NOW(), interval 1 month)
SELECT DATE_SUB(NOW(), interval 1 week)
SELECT DATE_SUB(NOW(), interval 1 day)
SELECT DATE_SUB(NOW(), interval 1 hour)
SELECT DATE_SUB(NOW(), interval 1 minute)
SELECT DATE_SUB(NOW(), interval 1 second)
五、类型转化函数
CAST()函数,它可以把一个值转化为指定的数据类型。类型有:BINARY,CHAR,DATE,TIME,DATETIME,SIGNED,UNSIGNED
示例:
SELECT CAST(NOW() AS SIGNED INTEGER),CURDATE()+0;
SELECT 'f'=BINARY 'F','f'=CAST('F' AS BINARY);
CEILING(x) 返回大于或等于x的最小整数值 //eg. CEILING(1)=1 CEILING(1.2)=2
FLOOR(x) 返回小于或等于x的最大整数值 //eg. CEILING(1)=1 CEILING(1.2)=1
GREATEST(x1,x2,...,xn) 返回集合中最大的值
LEAST(x1,x2,...,xn) 返回集合中最小的值
RAND() 返回0到1内的随机值,可以通过提供一个参数(种子)使RAND()随机数生成器生成一个指定的值。
ROUND(x,y) 返回参数x的四舍五入的有y位小数的值
TRUNCATE(x,y) 返回数字x截断为y位小数的结果
二、聚合函数(常用于GROUP BY从句的SELECT查询中)
AVG(col) 返回指定列的平均值
COUNT(col) 返回指定列中非NULL值的个数
MIN(col) 返回指定列的最小值
MAX(col) 返回指定列的最大值
SUM(col) 返回指定列的所有值之和
GROUP_CONCAT(col) 返回由属于一组的列值连接组合而成的结果
三、字符串函数
CONCAT(s1,s2...,sn) 将s1,s2...,sn连接成字符串
CONCAT_WS(sep,s1,s2...,sn) 将s1,s2...,sn连接成字符串,并用sep字符间隔
INSERT(str,x,y,instr) 将字符串str从第x位置开始,y个字符长的子串替换为字符串instr,返回结果
LCASE(str)或LOWER(str) 返回将字符串str中所有字符改变为小写后的结果
UCASE(str)或UPPER(str) 返回将字符串str中所有字符转变为大写后的结果
LENGTH(s) 返回字符串str中的字符数
TRIM(str) 去除字符串首部和尾部的所有空格
SUBSTRING(str, pos) 截取字符串
SUBSTRING(str, pos, length) 截取字符串
REVERSE(str) 返回颠倒字符串str的结果
LEFT(str,x) 返回字符串str中最左边的x个字符
RIGHT(str,x) 返回字符串str中最右边的x个字符
四、日期和时间函数
NOW() 返回当前的日期和时间
CURDATE()或CURRENT_DATE() 返回当前的日期(年月日)
CURTIME()或CURRENT_TIME() 返回当前的时间(时分秒)
%Y 年,4 位
%m 月,数值(00-12)
%d 月的天,数值(00-31)
%H 小时 (00-23)
%i 分钟,数值(00-59)
%s 秒(00-59)
%y 年,2 位
%c 月,数值(0-12)
%e 月的天,数值(0-31)
日期格式化函数
DATE_FORMAT(date,fmt)
例如:
SELECT DATE_FORMAT('2015-01-01','%Y-%m-%d')
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d')
天数转换函数
TO_DAYS(date), FROM_DAYS(days)
例如:
SELECT TO_DAYS('2015-01-01') -- 735964
SELECT FROM_DAYS(735964) -- 2015-01-01
秒数转换函数
UNIX_TIMESTAMP(),UNIX_TIMESTAMP(date),
FROM_UNIXTIME(unix_timestamp),
FROM_UNIXTIME(unix_timestamp,fmt)
例如:
SELECT UNIX_TIMESTAMP()-- 1442818062
SELECT UNIX_TIMESTAMP(NOW()) -- 1442818062
SELECT UNIX_TIMESTAMP('2015-01-01') -- 1420041600
SELECT UNIX_TIMESTAMP('2015-01-01 00:00:00') -- 1420041600
SELECT FROM_UNIXTIME(1420041600) -- 2015-01-01 00:00:00
SELECT FROM_UNIXTIME(1420041600,'%Y%m%d'); -- 20150101
两个时间相减
TIMEDIFF(date,date)
例如:
SELECT TIMEDIFF(CURRENT_TIME(),CURRENT_TIME())
SELECT TIMEDIFF('12:00:00','11:00:00')
两个日期相减
DATEDIFF(date,date)
例如:
SELECT DATEDIFF(CURRENT_DATE(),CURRENT_DATE())
SELECT DATEDIFF('2015-01-02','2015-01-01')
日期加
DATE_ADD(date,exp)
例如:
SELECT DATE_ADD(NOW(), interval 1 year)
SELECT DATE_ADD(NOW(), interval 1 month)
SELECT DATE_ADD(NOW(), interval 1 week)
SELECT DATE_ADD(NOW(), interval 1 day)
SELECT DATE_ADD(NOW(), interval 1 hour)
SELECT DATE_ADD(NOW(), interval 1 minute)
SELECT DATE_ADD(NOW(), interval 1 second)
日期减
DATE_SUB(date,exp)
例如:
SELECT DATE_SUB(NOW(), interval 1 year)
SELECT DATE_SUB(NOW(), interval 1 month)
SELECT DATE_SUB(NOW(), interval 1 week)
SELECT DATE_SUB(NOW(), interval 1 day)
SELECT DATE_SUB(NOW(), interval 1 hour)
SELECT DATE_SUB(NOW(), interval 1 minute)
SELECT DATE_SUB(NOW(), interval 1 second)
五、类型转化函数
CAST()函数,它可以把一个值转化为指定的数据类型。类型有:BINARY,CHAR,DATE,TIME,DATETIME,SIGNED,UNSIGNED
示例:
SELECT CAST(NOW() AS SIGNED INTEGER),CURDATE()+0;
SELECT 'f'=BINARY 'F','f'=CAST('F' AS BINARY);
相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法
- MySQL Server 日志
- MySQL 安全事宜
- MySQL 备份与恢复