MySQL中日期型单行函数

MySQL中日期型单行函数:

  1. CURDATE()CURRENT_DATE() 返回当前日期(精确到日)
    参考代码如下:
SELECT CURDATE()
FROM DUAL;
SELECT CURRENT_DATE()
FROM DUAL;

-----------------------------------(分割线)------------------------------------

  1. CURTIME()CURRENT_TIME() 返回当前时间(精确到秒)
    参考代码如下:
SELECT CURTIME()
FROM DUAL;
SELECT CURRENT_TIME()
FROM DUAL;

-----------------------------------(分割线)------------------------------------

  1. NOW() / SYSDATE() / CURRENT_TIMESTAMP() / LOCALTIME() / LOCALTIMESTAMP() 返回当前系统日期时间(精确到秒)
    参考代码如下:
SELECT NOW()
FROM DUAL;
SELECT LOCALTIME()
FROM DUAL;

-----------------------------------(分割线)------------------------------------

  1. YEAR(date) 显示年 / MONTH(date) 显示月 / DAY(date) 显示日 / HOUR(time)显示时 / MINUTE(TIME) 显示分 / SECOND(TIME) 显示秒
    参考代码如下:
SELECT YEAR(CURDATE()), MONTH(CURDATE()),DAY(CURDATE())
FROM DUAL;
SELECT HOUR(CURTIME()),MINUTE(NOW()),SECOND(NOW())
FROM DUAL;

备注:这里的函数,其括号里面的内容来自于前面指出的几个函数。

-----------------------------------(分割线)------------------------------------

  1. WEEK(date)/WEEKOFYEAR(date) 返回一年中的第几周
    参考代码如下:
SELECT WEEK(NOW())
FROM DUAL;
SELECT WEEKOFYEAR(CURDATE())
FROM DUAL;

-----------------------------------(分割线)------------------------------------

  1. DAYOFWEEK(DATE) 返回周几,注意:周日是1,周一是2,…周六是7
    参考代码如下:
SELECT DAYOFWEEK(NOW())  
FROM DUAL;

代码编译结果如下:
在这里插入图片描述
说明当下是周四

-----------------------------------(分割线)------------------------------------

  1. WEEKDAY(DATE) 返回周几,注意,周1是0,周2是1,…周日是6
    参考代码如下:
SELECT WEEKDAY(NOW())  
FROM DUAL;

代码编译结果如下:
在这里插入图片描述
说明当下是周四

-----------------------------------(分割线)------------------------------------

8.DAYNAME(date) 返回星期:MONDAY,TUESDAY…SUNDAY
参考代码如下:

SELECT DAYNAME(CURDATE()),DAYNAME('2020-09-06')  #隐式转换  
FROM DUAL;

代码编译结果如下:
在这里插入图片描述
备注:
这里用到了一个转换,日期可以被默认转换为字符串,这叫隐式转换。另外补充一下几个常用概念:
格式化:日期转换为字符串
解析:字符串转换为日期
举例代码如下:

字符串转换为日期(解析)(显式转换)

SELECT STR_TO_DATE('09/01/2009','%m/%d/%Y')
FROM DUAL;   

代码编译结果如下:
在这里插入图片描述

字符串转换为日期(解析)(显式转换)

SELECT STR_TO_DATE('20140422154706','%Y%m%d%H%i%s')
FROM DUAL;   

代码编译结果如下:
在这里插入图片描述

字符串转换为日期(解析)(显式转换)

SELECT STR_TO_DATE('2014-04-22 15:47:06','%Y-%m-%d %H:%i:%s')
FROM DUAL;    

代码编译结果如下:
在这里插入图片描述

-----------------------------------(分割线)------------------------------------

9.MONTHNAME(DATE) 返回月份:January…

SELECT MONTHNAME(NOW())  
FROM DUAL;

-----------------------------------(分割线)------------------------------------

  1. DATEDIFF(date1,date2) 返回date1 - date2的日期间隔
    TIMEDIFF(time1,time2) 返回time1 - time2的时间间隔
    参考代码如下:
SELECT DATEDIFF('2021-03-06','2021-06-09')  
FROM DUAL;

备注:返回的值是两个日期之间所差的天数=date1-date2,若date1在date2的前面,则所得为负值。
代码编译结果如下:
在这里插入图片描述

SELECT TIMEDIFF('2019-06-06 18:23:06','2019-08-06 10:36:45')
FROM DUAL;

备注:返回的值是两个时间之间所差的【小时数:分钟数:秒数】=time1-time2,若time1在time2的前面,则所得为负值。
代码编译结果如下:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值