--MySQL日期时间处理函数--当前日期:2017-05-12(突然发现今天512,是不是会拉防空警报)
SELECT NOW() FROM DUAL;--当前日期时间:2017-05-12 11:41:47--在MySQL里也存在和Oracle里类似的dual虚拟表:官方声明纯粹是为了满足select ... from...这一习惯问题,mysql会忽略对该表的引用。--那么MySQL中就不用DUAL了吧。
SELECT NOW();--当前日期时间:2017-05-12 11:41:55--除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数:
SELECT CURRENT_TIMESTAMP();--2017-05-15 10:19:31
SELECT CURRENT_TIMESTAMP;--2017-05-15 10:19:51
SELECT LOCALTIME();--2017-05-15 10:20:00
SELECT LOCALTIME;--2017-05-15 10:20:10
SELECT LOCALTIMESTAMP();--2017-05-15 10:20:21(v4.0.6)
SELECT LOCALTIMESTAMP;--2017-05-15 10:20:30(v4.0.6)--这些日期时间函数,都等同于 now()。鉴于 now() 函数简短易记,建议总是使用 now()来替代上面列出的函数。
SELECT SYSDATE();--当前日期时间:2017-05-12 11:42:03--sysdate() 日期时间函数跟 now() 类似,--不同之处在于:now() 在执行开始时值就得到了;sysdate() 在函数执行时动态得到值。--看下面的例子就明白了:
SELECT NOW(), SLEEP(3), NOW();SELECT SYSDATE(), SLEEP(3), SYSDATE();SELECT CURDATE();--当前日期:2017-05-12
SELECT CURRENT_DATE();--当前日期:等同于 CURDATE()
SELECT CURRENT_DATE;--当前日期:等同于 CURDATE()
SELECT CURTIME();--当前时间:11:42:47
SELECT CURRENT_TIME();--当前时间:等同于 CURTIME()
SELECT CURRENT_TIME;--当前时间:等同于 CURTIME()
--获得当前 UTC 日期时间函数
SELECTUTC_TIMESTAMP(), UTC_DATE(), UTC_TIME()--MySQL 获得当前时间戳函数:current_timestamp, current_timestamp()
SELECT CURRENT_TIMESTAMP, CURRENT_TIMESTAMP();--2017-05-15 10:32:21 | 2017-05-15 10:32:21
--MySQL 日期时间 Extract(选取) 函数
SET @dt = '2017-05-15 10:37:14.123456';SELECT DATE(@dt);--获取日期:2017-05-15
SELECT TIME('2017-05-15 10:37:14.123456');--获取时间:10:37:14.123456
SELECT YEAR('2017-05-15 10:37:14.123456');--获取年份
SELECT MONTH('2017-05-15 10:37:14.123456');--获取月份
SELECT DAY('2017-05-15 10:37:14.123456');--获取日
SELECT HOUR('2017-05-15 10:37:14.123456');--获取时
SELECT MINUTE('2017-05-15 10:37:14.123456');--获取分
SELECT SECOND('2017-05-15 10:37:14.123456');--获取秒
SELECT MICROSECOND('2017-05-15 10:37:14.123456');--获取毫秒
SELECT QUARTER('2017-05-15 10:37:14.123456');--获取季度
SELECT WEEK('2017-05-15 10:37:14.123456');--20 (获取周)
SELECT WEEK('2017-05-15 10:37:14.123456', 7);--****** 测试此函数在MySQL5.6下无效
SELECT WEEKOFYEAR('2017-05-15 10:37:14.123456');--同week()
SELECT DAYOFYEAR('2017-05-15 10:37:14.123456');--135