📅  最后修改于: 2023-12-03 14:47:37.884000             🧑  作者: Mango
在SQL中,日期和时间通常与表中的其他数据一起查询和操作。SQL提供了一系列功能强大的日期和时间函数,可以在查询中使用这些函数来过滤和计算日期和时间。
下面是一些常见的SQL日期和时间函数以及它们的用法和示例。
CURRENT_DATE
和 CURRENT_TIMESTAMP
CURRENT_DATE
函数返回当前日期,而CURRENT_TIMESTAMP
函数返回当前日期和时间。这两个函数可以用于获取当前的日期或者时间戳。
示例:
SELECT CURRENT_DATE;
-- 返回当前日期,如 '2021-10-01'
SELECT CURRENT_TIMESTAMP;
-- 返回当前日期和时间戳,如 '2021-10-01 10:22:45'
DATE
和 TIME
如果你想要从日期时间戳中提取日期或时间部分,可以使用DATE
和TIME
函数。
示例:
SELECT DATE('2021-10-01 10:22:45');
-- 返回日期部分,如 '2021-10-01'
SELECT TIME('2021-10-01 10:22:45');
-- 返回时间部分,如 '10:22:45'
DATE_FORMAT
DATE_FORMAT
函数用于根据指定的格式将日期(或时间)转换为字符串。
示例:
SELECT DATE_FORMAT('2021-10-01', '%Y-%m-%d');
-- 返回格式化后的日期字符串,如 '2021-10-01'
SELECT DATE_FORMAT('2021-10-01 10:22:45', '%Y-%m-%d %H:%i:%s');
-- 返回格式化后的日期时间字符串,如 '2021-10-01 10:22:45'
EXTRACT
EXTRACT
函数用于从日期或时间中提取指定部分的值,例如年、月、日、小时、分钟等。
示例:
SELECT EXTRACT(YEAR FROM '2021-10-01');
-- 返回年份部分,如 2021
SELECT EXTRACT(MONTH FROM '2021-10-01');
-- 返回月份部分,如 10
SELECT EXTRACT(DAY FROM '2021-10-01');
-- 返回日期部分,如 1
DATE_ADD
和 DATE_SUB
DATE_ADD
和DATE_SUB
函数用于在日期上进行加法或减法操作。
示例:
SELECT DATE_ADD('2021-10-01', INTERVAL 1 DAY);
-- 返回加上1天后的日期,如 '2021-10-02'
SELECT DATE_SUB('2021-10-01', INTERVAL 1 WEEK);
-- 返回减去1周后的日期,如 '2021-09-24'
DATEDIFF
DATEDIFF
函数用于计算两个日期之间的天数差。
示例:
SELECT DATEDIFF('2021-10-01', '2021-09-01');
-- 返回两个日期之间的天数差,如 30
这些是SQL中一些常用的日期和时间函数和操作。使用这些函数,你可以轻松地进行日期和时间的查询和计算。