1. 首页
  2. 技术知识

MySQL中日期型单行函数代码详解

MySQL中日期型单行函数:

CURDATE()或CURRENT_DATE() 返回当前日期(精确到日)

参考代码如下:

SELECT CURDATE()

FROM DUAL;

SELECT CURRENT_DATE()

FROM DUAL;———————————–(分割线)————————————

CURTIME() 或CURRENT_TIME() 返回当前时间(精确到秒)

参考代码如下:

SELECT CURTIME()

FROM DUAL;

SELECT CURRENT_TIME()

FROM DUAL;———————————–(分割线)————————————

NOW() / SYSDATE() / CURRENT_TIMESТAMP() / LOCALTIME() / LOCALTIMESТAMP() 返回当前系统日期时间(精确到秒)

参考代码如下:

SELECT NOW()

FROM DUAL;

SELECT LOCALTIME()

FROM DUAL;———————————–(分割线)————————————

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;备注:这里的函数,其括号里面的内容来自于前面指出的几个函数。

———————————–(分割线)————————————

WEEK(date)/WEEKOFYEAR(date) 返回一年中的第几周

参考代码如下:

SELECT WEEK(NOW())

FROM DUAL;

SELECT WEEKOFYEAR(CURDATE())

FROM DUAL;———————————–(分割线)————————————

DAYOFWEEK(DATE) 返回周几,注意:周日是1,周一是2,…周六是7

参考代码如下:

SELECT DAYOFWEEK(NOW())  

FROM DUAL;代码编译结果如下:

说明当下是周四

———————————–(分割线)————————————

WEEKDAY(DATE) 返回周几,注意,周1是0,周2是1,…周日是6

参考代码如下:

SELECT WEEKDAY(NOW())  

FROM DUAL;代码编译结果如下:

说明当下是周四

———————————–(分割线)————————————

8.DAYNAME(date) 返回星期:MONDAY,TUESDAY…SUNDAY

参考代码如下:

SELECT DAYNAME(CURDATE()),DAYNAME(‘2022-09-06’)  #隐式转换  

FROM DUAL;代码编译结果如下:

备注:

这里用到了一个转换,日期可以被默认转换为字符串,这叫隐式转换。另外补充一下几个常用概念:

格式化:日期转换为字符串

解析:字符串转换为日期

举例代码如下:

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

SELECT STR_TO_DATE(’09/01/2009′,’%m/%d/%Y’)

FROM DUAL;   代码编译结果如下:

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

SELECT STR_TO_DATE(‘20220422154706′,’%Y%m%d%H%i%s’)

FROM DUAL;   代码编译结果如下:

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

SELECT STR_TO_DATE(‘2022-04-22 15:47:06′,’%Y-%m-%d %H:%i:%s’)

FROM DUAL;    代码编译结果如下:

———————————–(分割线)————————————

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

SELECT MONTHNAME(NOW())  

FROM DUAL;———————————–(分割线)————————————

DATEDIFF(date1,date2) 返回date1 – date2的日期间隔

TIMEDIFF(time1,time2) 返回time1 – time2的时间间隔

参考代码如下:

SELECT DATEDIFF(‘2022-03-06′,’2022-06-09’)  

FROM DUAL;备注:返回的值是两个日期之间所差的天数=date1-date2,若date1在date2的前面,则所得为负值。

代码编译结果如下:

SELECT TIMEDIFF(‘2022-06-06 18:23:06′,’2022-08-06 10:36:45’)

FROM DUAL;备注:返回的值是两个时间之间所差的【小时数:分钟数:秒数】=time1-time2,若time1在time2的前面,则所得为负值。

代码编译结果如下:

以上就是MySQL中日期型单行函数的详细内容,更多关于mysql单行函数的资料请关注共生网络其它相关文章!

原创文章,作者:starterknow,如若转载,请注明出处:https://www.starterknow.com/117437.html

联系我们