一般常用是这样的,但不够精确:
SELECT * FROM table_name WHERE FROM_UNIXTIME(addtime,'%Y%m') = '202006';
在实际使用中要求:
MySql 2个时间怎么得出天数
date1 = 2012-09-19 20:23:32
date2 = 2012-09-19 23:43:41
在mysql中2个时间 date1 和 date2 怎么算出相差天数
大概格式是这样,相差24个小时内的算一天,24个小时以上48小时以内算2天。。。
不要用to_days这样他只用日期来算。
不怎么精确。要精确到秒数。
使用内置ceil功能函数:
select ceil(1.0*(UNIX_TIMESTAMP(str_to_date('2012-1-2 11:10:09', '%Y-%m-%d %h:%i:%s')) - UNIX_TIMESTAMP(str_to_date('2012-1-1 11:10:08', '%Y-%m-%d %h:%i:%s')))/60/60/24);
说明:
1、str_to_date('2012-1-2 11:10:09', '%Y-%m-%d %h:%i:%s') 字符串转换为日期
2、UNIX_TIMESTAMP(str_to_date('2012-1-2 11:10:09', '%Y-%m-%d %h:%i:%s')) 得到秒
3、1.0*秒差/60秒/60分/24小时
4、ceil向上取值 如1.2为2
测试:
select * from 表名_enewslinkrecord where CEIL(1.0*(UNIX_TIMESTAMP(str_to_date(endtime, '%Y-%m-%d %h:%i:%s'))-UNIX_TIMESTAMP(str_to_date(dotime,'%Y-%m-%d %h:%i:%s')))/60/60/24)
SELECT * FROM `表名_enewslinkrecord` WHERE datediff(endtime,now())<4