常用日期函数
1..将日期转换为时间戳
UNIX_TIMESTAMP(字段名)
2.将日期格式化
DATE_FORMAT( 字段名, "%Y-%m-%d")
3.日期增加
DATE_ADD(字段名,INTERVAL x DAY)
4.日期减少
DATE_SUB(字段名,INTERVAL x DAY)
5.两个日期之间的天数
DATEDIFF(end_time,open_time)
6.返回当前的日期和时间
NOW()
7.返回当前的日期
CURDATE()
8.返回当前的时间
CURTIME()
9.用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等
EXTRACT()
10.转换时间戳
UNIX_TIMESTAMP(create_time)
TO---近某个时间段
1.近x个小时
字段名 >= (NOW() - interval x HOUR)
2.近x分钟
字段名 >= (NOW() - interval x MINUTE)
3.近x秒
字段名 >= (NOW() - interval x SECOND)
4.近x天
date(字段名) >= DATE_SUB(CURDATE(),INTERVAL x DAY)
5.近x周
date(字段名) >= DATE_SUB(CURDATE(),INTERVAL x WEEK)
6.近x月
date(字段名) >= DATE_SUB(CURDATE(),INTERVAL x MONTH)
7.近x年
date(字段名) >= DATE_SUB(CURDATE(),INTERVAL x YEAR)
TO---天
1.今天
to_days(字段名) = to_days(now())
2.昨天
DATEDIFF(字段名,NOW()) = -1 // 方式一
TO_DAYS(NOW()) - TO_DAYS(字段名) <= 1 // 方式二
TO---周
1.本周
(中国的周一-周日)
YEARWEEK(date_format(字段名,'%Y-%m-%d'),1) = YEARWEEK(now(),1)
(外国上周周日-这周周六)
YEARWEEK(date_format(字段名,'%Y-%m-%d')) = YEARWEEK(now())
2.上n周
(中国的周一-周日)
YEARWEEK(date_format(字段名,'%Y-%m-%d'),1) = YEARWEEK(now(),1) - n
(外国上周周日-这周周六)
YEARWEEK(date_format(字段名,'%Y-%m-%d')) = YEARWEEK(now()) - n
3.下n周
(中国的周一-周日)
YEARWEEK(date_format(字段名,'%Y-%m-%d'),1) = YEARWEEK(now(),1) + n
(上周周日-这周周六)
YEARWEEK(date_format(字段名,'%Y-%m-%d')) = YEARWEEK(now()) + n
TO---月
1.本月
DATE_FORMAT( 字段名, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' );
2.上n月
period_diff(date_format(now(), '%y%m'), date_format(字段名, '%Y%m')) = n
3.下n月
period_diff(date_format(now(), '%y%m'), date_format(字段名, '%Y%m')) = -n
TO---季度
1.本季度
QUARTER(字段名)=QUARTER(now())
2.上n季度
QUARTER(字段名)=QUARTER(DATE_ADD(NOW(),INTERVAL -1 QUARTER))
3.下n季度
QUARTER(字段名)=QUARTER(DATE_ADD(NOW(),INTERVAL 1 QUARTER))
TO---年
1.今年
YEAR(字段名) = YEAR(NOW())
2.上n年
YEAR(字段名) = YEAR(DATE_ADD(NOW(),INTERVAL -n YEAR))
3.下n年
YEAR(字段名) = YEAR(DATE_ADD(NOW(),INTERVAL n YEAR))