时间函数
说明:
此处的符号 ‘’,是输入法的英文格式,的单引号符号。
问题:
sql语句能不能直接加上时间的条件筛选?
emmm~~可以的啊,可以啊,那又怎么写呢?
。。。。。
好吧,我承认,我当时就是这么想的。。。去找的时候,发现基本上就没有,所以写此文,借以同感之人,也是做一次存储。
数据表结构 以及 数据
依旧是此表啊,倘若需要此表结构,请点击此处,查看数据结构
DATE_FORMAT() 函数
此函数,便可用来,解决上述问题。
DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。
语法--DATE_FORMAT(date,format)
date 参数是合法的日期。format 规定日期/时间的输出格式。
年月日时分秒
SELECT * FROM test WHERE DATE_FORMAT(created_time,'%Y-%m-%d %H:%i:%S')>DATE_FORMAT('2019-06-28 14:23:21' ,'%Y-%m-%d %H:%i:%S');
将数据timestamp 转换为 年月日 创建时间() 大于 (当天)年月日 的数据
SELECT * FROM test WHERE DATE_FORMAT(created_time,'%Y-%m-%d')>DATE_FORMAT('2019-06-28 14:23:21' ,'%Y-%m-%d');
date 只是年月日的格式
SELECT * FROM test WHERE DATE(created_time)>DATE_FORMAT('2019-06-28 14:23:21' ,'%Y-%m-%d');
eg: 年月日
SELECT DATE(created_time) FROM test
SELECT DATE_FORMAT(created_time,'%Y-%m-%d') FROM test
eg: 时分秒
SELECT TIME(created_time) FROM test
SELECT DATE_FORMAT(created_time,'%H-%i-%s') FROM test
eg: 年月日.时分秒
SELECT DATE_FORMAT(created_time,'%Y-%m-%d %H:%i:%s') AS 创建时间 FROM test
DATE() 函数
DATE() 函数返回日期或日期/时间表达式的日期部分。
select date(created_time) from test; ## 此处仅返回 年月日
EXTRACT() 函数
函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。
若非,测试。否则绝对不能使用 中文 表示字段名,切记。
SELECT EXTRACT(YEAR FROM created_time) AS 年 ,
EXTRACT(MONTH FROM created_time) AS 月,
EXTRACT(DAY FROM created_time) AS 日
FROM test
ORDER BY created_time DESC
DATE_ADD()
语法-----DATE_ADD(date,INTERVAL expr type)
说明----- date 参数是合法的日期表达式。expr 参数是您希望添加的时间间隔。TYPE 参数可以是下列值 可参考此处
TYPE中的==QUARTER== 是季度的意思 一年四季 每季三月
原本时间—2019-07-01 10:31:54
加上一个季度
SELECT DATE_ADD(created_time,INTERVAL 1 QUARTER)
FROM test
WHERE id = ‘1’;
加上一天一小时 原本: 2019-07-01 10:31:54
SELECT DATE_ADD(created_time , INTERVAL ‘1-1’ DAY_HOUR)
FROM test
WHERE id = ‘1’
DATE_SUB()
与上面的 DATE_ADD()用法一样,只不过,这是减时间。
DATEDIFF(date1,date2);
比较两个合法参数之间的天数 字段忽略时分秒
SELECT DATEDIFF('2017-02-22','2017-08-13');
SELECT DATEDIFF('2017-08-17','2017-08-19');
DATEDIFF要计算周或月作为间隔时间,可以将DATEDIFF函数的返回值除以7或30,如下查询语句:
round 保留几位数 四舍五入
SELECT ROUND( DATEDIFF('2017-02-22','2017-08-13')/7,2) AS weeks ,
ROUND( DATEDIFF('2019-7-1','2019.1.1')/30,2) AS months