SQL常用时间函数
1、提取时间
# 获取当前日期时间
select NOW(); # 2021-04-02 09:25:29
# 获取当前日期
SELECT CURDATE(); # 2021-04-02
# 获取当前时间
SELECT CURTIME(); # 09:26:10
# 对于时间2021-04-02 09:25:29,分别获取其年、月、日、时、分、秒
SELECT EXTRACT(YEAR FROM NOW()); # 2021
SELECT EXTRACT(MONTH FROM NOW()); # 4
SELECT EXTRACT(DAY FROM NOW()); # 2
SELECT EXTRACT(HOUR FROM NOW()); # 9
SELECT EXTRACT(MINUTE FROM NOW()); # 25
SELECT EXTRACT(SECOND FROM NOW()); # 29
# 或者从日期格式字符串中获取
SELECT EXTRACT(SECOND FROM '2021-04-02 10:37:14.123456'); # 14
2、时间的加减运算
# 时间减少1小时(前一小时)
select date_sub(now(), INTERVAL 1 hour);
# 日期增加1天
select date_add(now(), INTERVAL 1 day);
# 其他间隔
INTERVAL 1 YEAR # 1年
INTERVAL 1 MONTH #一个月
INTERVAL 1 DAY # 1天
INTERVAL 1 HOUR # 1小时
INTERVAL 1 MINUTE # 1分钟
INTERVAL 1 SECOND # 1秒
# 计算两个日期的差值
datediff(date1,date2):两个日期相减 date1 - date2,返回天数
TIMEDIFF(time1,time2):两个日期相减 time1 - time2,返回 TIME 差值(秒)
TIMESTAMPDIFF(x, 1, time1,time2):以x为单位,返回time2-time1相差的值,x可以为year、month、day、hour、minute、second(年月日时分秒)
3、时间格式化
date_format(you_data,'%Y%-m-%d %H:%i:%s') # 2021-04-02 09:25:29
date() # 返回年月日格式: 2021-04-02
time() # 返回时分秒格式: 09:25:29
str_to_date(str,format) #str_to_date("2021年4月2日",'%Y年%m月%d日') =>得到日期格式的:'2021-04-02'
4、其他函数
dayofweek(you_date);--判断星期几:1为周日,2为周一,...;
SELECT YEAR('2017-05-15 10:37:14.123456');-- 获取年份
SELECT MONTH('2017-05-15 10:37:14.123456');-- 获取月份
SELECT DAY('2017-05-15 10:37:14.123456');-- 获取日
SELECT HOUR('2017-05-15 10:37:14.123456');-- 获取时
SELECT MINUTE('2017-05-15 10:37:14.123456');-- 获取分
SELECT SECOND('2017-05-15 10:37:14.123456');-- 获取秒
SELECT MICROSECOND('2017-05-15 10:37:14.123456');-- 获取毫秒
SELECT QUARTER('2017-05-15 10:37:14.123456');-- 获取季度
SELECT WEEK('2017-05-15 10:37:14.123456');-- 20 (获取周)
原文链接:https://blog.csdn.net/hu1010037197/article/details/115391335
# 获取当前日期时间
select NOW(); # 2021-04-02 09:25:29
# 获取当前日期
SELECT CURDATE(); # 2021-04-02
# 获取当前时间
SELECT CURTIME(); # 09:26:10
# 对于时间2021-04-02 09:25:29,分别获取其年、月、日、时、分、秒
SELECT EXTRACT(YEAR FROM NOW()); # 2021
SELECT EXTRACT(MONTH FROM NOW()); # 4
SELECT EXTRACT(DAY FROM NOW()); # 2
SELECT EXTRACT(HOUR FROM NOW()); # 9
SELECT EXTRACT(MINUTE FROM NOW()); # 25
SELECT EXTRACT(SECOND FROM NOW()); # 29
# 或者从日期格式字符串中获取
SELECT EXTRACT(SECOND FROM '2021-04-02 10:37:14.123456'); # 14
2、时间的加减运算
# 时间减少1小时(前一小时)
select date_sub(now(), INTERVAL 1 hour);
# 日期增加1天
select date_add(now(), INTERVAL 1 day);
# 其他间隔
INTERVAL 1 YEAR # 1年
INTERVAL 1 MONTH #一个月
INTERVAL 1 DAY # 1天
INTERVAL 1 HOUR # 1小时
INTERVAL 1 MINUTE # 1分钟
INTERVAL 1 SECOND # 1秒
# 计算两个日期的差值
datediff(date1,date2):两个日期相减 date1 - date2,返回天数
TIMEDIFF(time1,time2):两个日期相减 time1 - time2,返回 TIME 差值(秒)
TIMESTAMPDIFF(x, 1, time1,time2):以x为单位,返回time2-time1相差的值,x可以为year、month、day、hour、minute、second(年月日时分秒)
3、时间格式化
date_format(you_data,'%Y%-m-%d %H:%i:%s') # 2021-04-02 09:25:29
date() # 返回年月日格式: 2021-04-02
time() # 返回时分秒格式: 09:25:29
str_to_date(str,format) #str_to_date("2021年4月2日",'%Y年%m月%d日') =>得到日期格式的:'2021-04-02'
4、其他函数
dayofweek(you_date);--判断星期几:1为周日,2为周一,...;
SELECT YEAR('2017-05-15 10:37:14.123456');-- 获取年份
SELECT MONTH('2017-05-15 10:37:14.123456');-- 获取月份
SELECT DAY('2017-05-15 10:37:14.123456');-- 获取日
SELECT HOUR('2017-05-15 10:37:14.123456');-- 获取时
SELECT MINUTE('2017-05-15 10:37:14.123456');-- 获取分
SELECT SECOND('2017-05-15 10:37:14.123456');-- 获取秒
SELECT MICROSECOND('2017-05-15 10:37:14.123456');-- 获取毫秒
SELECT QUARTER('2017-05-15 10:37:14.123456');-- 获取季度
SELECT WEEK('2017-05-15 10:37:14.123456');-- 20 (获取周)
原文链接:https://blog.csdn.net/hu1010037197/article/details/115391335
全部评论
相关推荐
09-25 00:19
山东财经大学 Java 点赞 评论 收藏
分享