Mysql数据库中有关时间函数的使用说明

Mysql数据库中有关时间函数的使用说明

使用mysql的时间函数,有利于我们在进行查询等操作时,把以往时间条件需要手动输入的情况转为sql语句进行自动获取填充。例如每天需要对数据库进行数据同步,如果没有时间函数的使用的话,就意味着我们需要手动输入时间的查询条件来进行操作,而引入时间操作后,我们只需要另外在配置一个数据库的定时任务,就可以对数据同步进行自动化操作了。

下面列出了一些在工作中常用到的时间函数:

1.获取当前时刻时间

SQL语句返回示例SQL说明
select now();2021-02-07 15:08:44返回当前日期和时间
select curdate();2021-02-07返回当前日期
select date(now());2021-02-07返回当前日期
select year(now());2021返回当前年份
select month(now());02返回当前月份
select day(now());7返回当前日期(天)
select curtime();15:08:44返回当前时间
select hour(now());15返回当前小时
select minute(now());08返回当前分钟
select second(now());44返回当前秒数
select weekofyear(now());5返回当前日期为一年中的第几周
select dayofweek(now());1返回当前日期为一周中的星期几(注意:该函数中一周是从周日开始的)

2、日期时间格式转换

select date_format(datetime,format);
主题格式描述
%Y4位数的年
%b月份对应的英文缩写
%M月份对应的英文全称
%m01-12的月
%c1-12的月份数值
%d01-31的某月里面的第几天
%e1-31的某月里面的第几天
%D用th后缀表示某月中的第几天
%j001-366的一年中的第几天
%a星期几对应的英文缩写
%W星期几对应的英文全称
%H00-23的小时
%h01-12的小时
%i00-59的分钟
%S秒(00-59)
%f微秒
时分秒%T返回当前的时分秒, 24-小时 (hh:mm:ss)

3、日期运算函数

#日期时间向后偏移函数
select date_add(date,interval num unit);
#日期时间向前偏移函数
select date_sum(date,interval num unit);
#date表示当前的日期,或者当前的日期时间;interval是一个固定的参数;num为上面讲到的x;unit表示你要加的单位,是往后移动7天,还是7月,还是7年。

#日期做差运算函数
select datediff(end_date,start_date)
unit参数单位说明
year
month
day
hour小时
minute分钟
second
week周数,全年第几周

4、工作中时间函数运用场景举例

#获取今天0点的日期时间
select date_format(curdate(),'%Y-%m-%d %H:%i:%s');
#获取昨天最后一秒23:59:59的日期时间
select date_sub(curdate(),interval 1 second);

发表评论