MySQL经常查询某个日期时间的记录,可以用以下方法转换到对应的年月日时分秒季度。

获取第几天

SELECT to_days(\"2018-12-07\");   # 737400
SELECT to_days(\"2018-12-07 10:17:12\");  # 737400

获取第几秒

SELECT to_seconds(\"2018-12-07 10:17:12\");;   # 63711397032

获取某年

SELECT year(\"2018-01-07 10:17:00\"); # 2018
SELECT year(\"2018-01-07\");  # 2018

获取某月

SELECT month(\"2018-01-07 10:17:00\");  # 1
SELECT month(\"2018-01-07\");  # 1

获取第几周

使用week函数
第一个参数是datedatetime格式
第二个参数表示从1开始,或者从0开始。

SELECT week(\"2018-01-01 10:17:00\", 1); # 1
SELECT week(\"2018-01-01\", 1); # 1
SELECT week(\"2018-01-01 10:17:00\", 0); # 0
SELECT week(\"2018-01-01\", 0); # 0

获取某日

SELECT date(\"2018-01-07 10:17:00\");  # 2018-01-07
SELECT date(\"2018-01-07\");  # 2018-01-07

获取某时

SELECT hour(\"2018-01-07 10:17:00\");  # 10

获取某分

SELECT year(\"2018-01-07 10:17:00\");
SELECT year(\"2018-01-07\");

获取某秒

SELECT second(\"2018-01-07 10:17:12\");  # 12

获取第几季度

SELECT quarter(\"2018-01-07 10:17:12\");  # 1
SELECT quarter(\"2018-12-07\");  # 4

参考:
https://blog.csdn.net/lilongsy/article/details/79061639
https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html

收藏 打印