mysql日期函数
MySQL日期函数
一、获取时间
- now()
- 获取执行select语句的时刻
- sysdate()
- 获取当前时刻
- curdate()、current_date()、current_date关键字
- 获取当前日期
- curtime()、current_time()、current_time关键字
- 获取当前时间
- year(时间)、month(时间)、day(时间)、hour(时间)、minute(时间)、second(时间)
- 获取日期中的年、月、日、时、分、秒
- date(时间)
- 提取日期中"年月日"
- time(时间)
- 提取日期中的 ‘‘时分秒’’
二、时间计算
-
date_add(日期, interval 数字 时间单位)
-
给日期加上指定的时间
-
如给日期加上100年:
select date_add('2024-09-11', interval 100 year)
-
时间单位:
- year:年
- month:月
- day:日
- hour:时
- minute:分
- second:秒
- microsecond:微秒(1秒等于1000毫秒,1毫秒等于1000微秒)
- week:周
- quarter:季度
-
另外还有一些复合时间单位
- second_microsecond
- minute_microsecond
- minute_second:几分几秒之后
- hour_microsecond
- hour_second
- hour_minute:几小时几分之后
- day_microsecond
- DAY_SECOND
- day_minute
- day_hour:几天几小时之后
- year_month:几年几个月之后
-
-
date_sub(日期, interval 数字 时间单位)
- 给日期减去指定的时间,与date_add同理
-
date_format(时间,格式)
-
对时间日期进行格式化,类似于C语言中的printf格式化输出
-
格式
- %Y:四位年份
- %y:两位年份
- %m:月份(1 ~ 12)
- %d:日(1 ~ 30)
- %H:小时(0 ~ 23)
- %i:分(0 ~ 59)
- %s:秒(0 ~ 59)
-
如:
select date_format(now(),'%Y-%m-d %H:%i:%s')
-
-
str_to_date(字符串日期,格式读取)
-
从字符串日期中读取时间信息,封装成date类型,相当于C语言中的scanf格式化读取
-
如:
select str_to_date('2024===09===11 11@11@11','%Y===%m===%d %H@%m@%s')
-
-
dayofweek(时间)、dayofmonth(时间)、dayofyear(时间)
- dayofweek:一周中的第几天(1~7),周日是1,周六是7。
- dayofmonth:一个月中的第几天(1~31)
- dayofyear:一年中的第几天(1~366)
-
last_day(时间)
- 获取所在月的最后一天日期
-
datediff(时间1, 时间2)
- 计算两个日期相差多少天,天数差 = 时间1 - 时间2
-
timediff(时间1,时间2)
- 计算两个时间的差,时间差(时分秒) = 时间1 - 时间2