Mysql Datetime类型字段操作函数

来自三线的随记
select count(1) from wp_posts where Date(post_date) > '2019-03-5'
select count(1) from wp_posts where Date(post_date) = '2019-03-5'
select * from product where date(add_time) between '2013-01-01' and '2013-01-31'
select * from product where Year(add_time) = 2013 and Month(add_time) = 1

DAYOFWEEK

返回星期索引(1=星期天,2=星期一, ……7=星期六)。这些索引值对应于ODBC标准。

select DAYOFWEEK('2019-03-26'); 

WEEKDAY

返回星期索引(0=星期一,1=星期二, ……6= 星期天)。

select WEEKDAY('2019-03-26 22:23:00'); 
select WEEKDAY('2019-03-25'); 

DAYOFMONTH

返回在月份中的第x天,在1到31范围内。

select DAYOFMONTH('1998-02-03'); 

DAYOFYEAR

返回在一年中的日数, 在1到366范围内

select DAYOFYEAR('2019-02-03'); 

MONTH

返回月份值,范围1到12。无前导零

select MONTH('2019-02-03'); 

DAYNAME

返回星期名字(英文全写)

select DAYNAME("2019-03-26"); 

MONTHNAME

返回月份名字。(英文全写)

select MONTHNAME("2019-03-26"); 

QUARTER

返回date一年中的季度,范围1到4。

select QUARTER('2019-03-26'); 

TO_DAYS

就是从0年开始 到xxx之间的天数

可以用于取某个天数区间之间的数据(如30天内的数据)

SELECT something FROM table WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30;