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

时间:2021-09-19 23:17:54

mysql中日期型单行函数:

curdate()current_date() 返回当前日期(精确到日)
参考代码如下:

?
1
2
select curdate()
from dual;
?
1
2
select current_date()
from dual;

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

curtime()current_time() 返回当前时间(精确到秒)
参考代码如下:

?
1
2
select curtime()
from dual;
?
1
2
select current_time()
from dual;

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

now() / sysdate() / current_timestamp() / localtime() / localtimestamp() 返回当前系统日期时间(精确到秒)
参考代码如下:

?
1
2
select now()
from dual;
?
1
2
select localtime()
from dual;

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

year(date) 显示年 / month(date) 显示月 / day(date) 显示日 / hour(time)显示时 / minute(time) 显示分 / second(time) 显示秒
参考代码如下:

?
1
2
select year(curdate()), month(curdate()),day(curdate())
from dual;
?
1
2
select hour(curtime()),minute(now()),second(now())
from dual;

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

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

week(date)/weekofyear(date) 返回一年中的第几周
参考代码如下:

?
1
2
select week(now())
from dual;
?
1
2
select weekofyear(curdate())
from dual;

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

dayofweek(date) 返回周几,注意:周日是1,周一是2,…周六是7
参考代码如下:

?
1
2
select dayofweek(now()) 
from dual;

代码编译结果如下:

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

说明当下是周四

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

weekday(date) 返回周几,注意,周1是0,周2是1,…周日是6
参考代码如下:

?
1
2
select weekday(now()) 
from dual;

代码编译结果如下:

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

说明当下是周四

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

8.dayname(date) 返回星期:monday,tuesday…sunday
参考代码如下:

?
1
2
select dayname(curdate()),dayname('2020-09-06')  #隐式转换 
from dual;

代码编译结果如下:

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

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

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

?
1
2
select str_to_date('09/01/2009','%m/%d/%y')
from dual;

代码编译结果如下:

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

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

?
1
2
select str_to_date('20140422154706','%y%m%d%h%i%s')
from dual;

代码编译结果如下:

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

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

?
1
2
select str_to_date('2014-04-22 15:47:06','%y-%m-%d %h:%i:%s')
from dual;

代码编译结果如下:

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

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

9.monthname(date) 返回月份:january…

?
1
2
select monthname(now()) 
from dual;

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

datediff(date1,date2) 返回date1 - date2的日期间隔
timediff(time1,time2) 返回time1 - time2的时间间隔
参考代码如下:

?
1
2
select datediff('2021-03-06','2021-06-09'
from dual;

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

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

?
1
2
select timediff('2019-06-06 18:23:06','2019-08-06 10:36:45')
from dual;

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

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

以上就是mysql中日期型单行函数的详细内容,更多关于mysql单行函数的资料请关注服务器之家其它相关文章!

原文链接:https://blog.csdn.net/qq_51735681/article/details/118001620