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_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单行函数的资料请关注其它相关文章!