MySQL中日期型单行函数代码详解
作者:尤里卡_1006
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_TIMESTAMP()
/ LOCALTIME()
/ LOCALTIMESTAMP()
返回当前系统日期时间(精确到秒)
参考代码如下:
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('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;
-----------------------------------(分割线)------------------------------------
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的前面,则所得为负值。
代码编译结果如下:
以上就是MySQL中日期型单行函数的详细内容,更多关于mysql单行函数的资料请关注脚本之家其它相关文章!