# 日期函数 SELECT NOW(); -- 年月日时分秒 SELECT SYSDATE() ; -- 年月日时分秒 SELECT CURDATE(); -- 年月日 SELECT CURTIME(); -- 时分秒 SELECT YEAR(NOW()); -- 年 SELECT MONTH(NOW()); -- 月 SELECT DAY(NOW()); -- 日 SELECT HOUR(NOW()); -- 时 SELECT MINUTE(NOW()); -- 分 SELECT SECOND(NOW()); -- 秒 SELECT NOW() + 0; SELECT ROUND(NOW() + 0); SELECT CURDATE() + 0; SELECT CURTIME() + 0; SELECT ROUND(CURTIME() + 0); -- DATE(expr) -- 提取日期或时间日期表达式expr中的日期部分。 SELECT DATE(NOW()); -- 返回年月日 SELECT DATE('2018-03-22 01:02:03'); -- 2018-03-22 SELECT DATE('2018/03/22 01:02:03'); -- 2018-03-22 SELECT DATE('03/22/2018 01:02:03'); -- null -- DATE_FORMAT(date,format) -- 根据format 字符串安排date 值的格式。 %a 工作日的缩写名称 (Sun..Sat) %b 月份的缩写名称 (Jan..Dec) %c 月份,数字形式(0..12) %D 带有英语后缀的该月日期 (0th, 1st, 2nd, 3rd, ...) %d 该月日期, 数字形式 (00..31) %e 该月日期, 数字形式(0..31) %f 微秒 (000000..999999) %H 小时(00..23) %h 小时(01..12) %I 小时 (01..12) %i 分钟,数字形式 (00..59) %j 一年中的天数 (001..366) %k 小时 (0..23) %l 小时 (1..12) %M 月份名称 (January..December) %m 月份, 数字形式 (00..12) %p 上午(AM)或下午( PM) %r 时间 , 12小时制 (小时hh:分钟mm:秒数ss 后加 AM或PM) %S 秒 (00..59) %s 秒 (00..59) %T 时间 , 24小时制 (小时hh:分钟mm:秒数ss) %U 周 (00..53), 其中周日为每周的第一天 %u 周 (00..53), 其中周一为每周的第一天 %V 周 (01..53), 其中周日为每周的第一天 ; 和 %X同时使用 %v 周 (01..53), 其中周一为每周的第一天 ; 和 %x同时使用 %W 工作日名称 (周日..周六) %w 一周中的每日 (0=周日..6=周六) %X 该周的年份,其中周日为每周的第一天, 数字形式,4位数;和%V同时使用 %X 该周的年份,其中周一为每周的第一天, 数字形式,4位数;和%v同时使用 %Y 年份, 数字形式,4位数 %Y 年份, 数字形式 (2位数) %% ‘%’文字字符 SELECT DATE_FORMAT('2018-10-04 21:13:00', '%d %m %Y'); -- 04 10 2018 -- DAYOFMONTH(date) -- 返回date 对应的该月日期,范围是从 1到31。 SELECT DAYOFMONTH('2018-02-03'); -- 3 -- DAYOFWEEK(date) -- 返回date (1 = 周日, 2 = 周一, ..., 7 = 周六)对应的工作日索引。这些索引值符合 ODBC标准。 SELECT DAYOFWEEK('2018-02-03'); -- 7 -- DAYOFYEAR(date) -- 返回date 对应的一年中的天数,范围是从 1到366。 SELECT DAYOFYEAR('2018-02-03'); -- 34 -- 字符串 日期 转换 只针对于格式 ,不判断是否合法 -- 字符串转时间 只会检查格式是否匹配 SELECT STR_TO_DATE('00-00-2018', '%m-%d-%Y'); SELECT STR_TO_DATE('02-31-2018', '%m-%d-%Y'); -- 2018-02-31 SELECT STR_TO_DATE('02-31-2018', '%m/%d/%Y'); -- 格式不匹配 返回 null SELECT DATE_FORMAT(NOW(),'%Y年%m月%d日'); -- 时间不合法 时间转字符串 会检查是否合法 SELECT DATE_FORMAT('2018-02-31','%Y年%m月%d日'); -- null SELECT DATE_FORMAT('2018-02-21','%Y年%m月%d日'); -- 2018-02-21 SELECT DATE_FORMAT('2018/02/21','%Y年%m月%d日'); -- 2018-02-21 SELECT DATE_FORMAT('2018年02月21','%Y年%m月%d日'); -- 时间格式不对 返回null -- 如何 将 字符串时间 2018年2月3号 转成时间字符串02月03日2018年 SELECT STR_TO_DATE('2018年2月3号','%Y年%m月%d号'); -- 2018-02-03 SELECT DATE_FORMAT('2018-02-03','%m月%d日%Y年'); -- 02月03日2018年 SELECT DATE_FORMAT(STR_TO_DATE('2018年2月3号','%Y年%m月%d号'),'%m月%d日%Y年')AS res; -- TIME(expr) -- 提取一个时间或日期时间表达式的时间部分,并将其以字符串形式返回。 SELECT TIME('2018-02-22 01:02:03'); -- 01:02:03
Mysql常用函数 -- 日期函数
猜你喜欢
转载自blog.csdn.net/sunrainamazing/article/details/80749599
今日推荐
周排行