MySQL常用的单行函数汇总3——日期时间函数
作者:互联网
日期时间函数:
1 #3.1 获取日期、时间 2 SELECT CURDATE(),CURRENT_DATE(),CURTIME(),NOW(),SYSDATE(), 3 UTC_DATE(),UTC_TIME() 4 FROM DUAL; 5 6 SELECT CURDATE(),CURDATE() + 0,CURTIME() + 0,NOW() + 0 7 FROM DUAL;
CURDATE(),CURRENT_DATE():获取当前的日期(到日)
CURTIME,NOW,SYSDATE:获取当前的时间,到秒
CURDATE()+0等:+0后,输出的内容相较之前在年月日时分秒之间少了一个'-'
1 #3.2 日期与时间戳的转换 2 SELECT UNIX_TIMESTAMP(),UNIX_TIMESTAMP('2021-10-01 12:12:32'), 3 FROM_UNIXTIME(1635173853),FROM_UNIXTIME(1633061552) 4 FROM DUAL;
UNIX_TIMESTAMP():无参则将当前时间转为时间戳,有参则把参数中日期转为时间戳,时间戳表示该日期到1.1.1的秒数
1 #3.3 获取月份、星期、星期数、天数等函数 2 SELECT YEAR(CURDATE()),MONTH(CURDATE()),DAY(CURDATE()), 3 HOUR(CURTIME()),MINUTE(NOW()),SECOND(SYSDATE()) 4 FROM DUAL; 5 6 7 SELECT MONTHNAME('2021-10-26'),DAYNAME('2021-10-26'),WEEKDAY('2021-10-26'), 8 QUARTER(CURDATE()),WEEK(CURDATE()),DAYOFYEAR(NOW()), 9 DAYOFMONTH(NOW()),DAYOFWEEK(NOW()) 10 FROM DUAL;
YEAR(DATE类型):获取该DATE类型的年份,其他属性同理
MONTHNAME(DATE类型):获取月份的英文名,DAYNAME获取星期几的英文名,WEEKDAY表示所在周的编号(以上较为繁琐,记住函数名字后去编程试验即可明白意义)
#3.4 日期的操作函数 SELECT EXTRACT(SECOND FROM NOW()),EXTRACT(DAY FROM NOW()), EXTRACT(HOUR_MINUTE FROM NOW()),EXTRACT(QUARTER FROM '2021-05-12') FROM DUAL;
EXTRACT(HOUR_MINUTE FROM NOW()):从当前的时间中提取出时和分两个元素(中间是之间相连的没有分隔符)
1 #3.5 时间和秒钟转换的函数 2 SELECT TIME_TO_SEC(CURTIME()), 3 SEC_TO_TIME(83355) 4 FROM DUAL;
将时分秒转化为秒数:TIME_TO_SEC,将秒数转为时分秒:SEC_TO_TIME
1 #3.6 计算日期和时间的函数 2 3 SELECT NOW(),DATE_ADD(NOW(),INTERVAL 1 YEAR),#当前日期基础上+1年 4 DATE_ADD(NOW(),INTERVAL -1 YEAR), 5 DATE_SUB(NOW(),INTERVAL 1 YEAR)#-(-1)年 6 FROM DUAL;
1 #格式化: 2 SELECT DATE_FORMAT(CURDATE(),'%Y-%M-%D'), 3 DATE_FORMAT(NOW(),'%Y-%m-%d'),TIME_FORMAT(CURTIME(),'%h:%i:%S'), 4 DATE_FORMAT(NOW(),'%Y-%M-%D %h:%i:%S %W %w %T %r') 5 FROM DUAL; 6 7 #解析:格式化的逆过程 8 SELECT STR_TO_DATE('2021-October-25th 11:37:30 Monday 1','%Y-%M-%D %h:%i:%S %W %w') 9 FROM DUAL; 10 11 SELECT GET_FORMAT(DATE,'USA') 12 FROM DUAL; 13 14 SELECT DATE_FORMAT(CURDATE(),GET_FORMAT(DATE,'USA')) 15 FROM DUAL;
标签:-%,函数,单行,CURDATE,DUAL,MySQL,DATE,NOW,SELECT 来源: https://www.cnblogs.com/jue1e0/p/16063274.html