SQL--日期处理

120 阅读1分钟

当前日期+时间 --> NOW()

SELECT NOW() 

image.png

当前日期 --> CURDATE()

SELECT CURDATE()

image.png

当前时间 --> CURTIME()

SELECT CURTIME()

image.png

提取日期时间中日期部分

一、DATE()

SELECT login_time,DATE(login_time) as d FROM blog_user 

image.png

二、DATE_FORMAT()

SELECT login_time,DATE_FORMAT(login_time, '%Y-%m-%d') as d FROM blog_user

image.png

日期运算

1、增加日期时间 --> DATE_ADD()

-- DATE_ADD(date,INTERVAL expr type)
-- date   日期时间
-- expr   时间间隔
-- type   时间类型
SELECT NOW(),DATE_ADD(NOW(),INTERVAL 2 DAY)
-- 增加日期两天四小时
SELECT NOW(),DATE_ADD(NOW(),INTERVAL '2 4' DAY_HOUR)
-- 增加 1h10m10s
select NOW(),DATE_ADD(NOW(),interval '1:10:10' DAY_SECOND)

image.png

TYPE含义
MICROSECOND微妙
SECOND
MINUTE分钟
HOUR小时
DAY
WEEK
MONTH
QUARTER季度
YEAR
SECOND_MICROSECOND秒_微妙
MINUTE_MICROSECOND分钟_微妙
MINUTE_SECOND分钟_秒
HOUR_MICROSECOND小时_微妙
DAY_MICROSECOND天_微妙
DAY_SECOND天_秒
HOUR_MINUTE小时_分钟
DAY_MINUTE天_分钟
DAY_HOUR天_小时
YEAR_MONTH年_月
tap

增加日期DATE_ADD()函数中 时间间隔 置为负数可实现减少日期效果

-- 减少 1h10m10s
select NOW(),DATE_ADD(NOW(),INTERVAL '-1:10:10' DAY_SECOND)

image.png

2、减少日期时间 -->DATE_SUB()

用法同上

3、计算两日期间隔天数 --> DATEDIFF()

SELECT DATEDIFF('2019-12-16','2022-12-13 00:00:00') AS DiffDate

image.png