MySQL now()函数
轉(zhuǎn)載自??MySQL now()函數(shù)
MySQL NOW()函數(shù)簡(jiǎn)介
MySQL?NOW()函數(shù)以"YYYY-MM-DD HH:MM:DD"或"YYYYMMDDHHMMSS.uuuuuuu"格式的字符串或數(shù)字返回配置的時(shí)區(qū)中的當(dāng)前日期和時(shí)間。
NOW()函數(shù)的返回類型取決于使用它的上下文。 例如,在以下語(yǔ)句中,NOW()函數(shù)以字符串形式返回當(dāng)前日期和時(shí)間:
mysql> SELECT NOW(); +---------------------+ | NOW() | +---------------------+ | 2017-08-10 05:42:21 | +---------------------+ 1 row in set但是,在數(shù)值上下文中,NOW()函數(shù)返回當(dāng)前日期和時(shí)間作為數(shù)字:
mysql> SELECT NOW() + 0; +----------------+ | NOW() + 0 | +----------------+ | 20170810054252 | +----------------+ 1 row in set請(qǐng)注意,NOW()函數(shù)在該語(yǔ)句開(kāi)始執(zhí)行時(shí)返回一個(gè)日期和時(shí)間的常量。請(qǐng)參閱以下示例:
mysql> SELECT NOW(), SLEEP(5), NOW(); +---------------------+----------+---------------------+ | NOW() | SLEEP(5) | NOW() | +---------------------+----------+---------------------+ | 2017-08-10 05:45:14 | 0 | 2017-08-10 05:45:14 | +---------------------+----------+---------------------+ 1 row in set在上面查詢中,執(zhí)行第一個(gè)NOW()函數(shù),SLEEP(5)函數(shù)暫停執(zhí)行查詢5秒,然后執(zhí)行第二個(gè)NOW()函數(shù)。 然而,兩個(gè)NOW()函數(shù)返回相同的值,盡管它們?cè)诓煌臅r(shí)間執(zhí)行。
如果您想要準(zhǔn)確指定執(zhí)行語(yǔ)句的時(shí)間,則可使用SYSDATE(); 請(qǐng)參見(jiàn)以下示例:
mysql> SELECT SYSDATE(), SLEEP(5), SYSDATE(); +---------------------+----------+---------------------+ | SYSDATE() | SLEEP(5) | SYSDATE() | +---------------------+----------+---------------------+ | 2017-08-10 05:47:05 | 0 | 2017-08-10 05:47:10 | +---------------------+----------+---------------------+ 1 row in set如果要更改MySQL服務(wù)器的時(shí)區(qū)以調(diào)整NOW()函數(shù)返回的當(dāng)前日期和時(shí)間,則使用以下語(yǔ)句:
SET time_zone = 你要的時(shí)區(qū);?
MySQL NOW()函數(shù)計(jì)算
因?yàn)镹OW()函數(shù)在數(shù)字上下文中使用時(shí)會(huì)返回一個(gè)數(shù)字,所以您可以在計(jì)算中使用它,例如當(dāng)前時(shí)間加上1小時(shí),現(xiàn)在減去2小時(shí),當(dāng)前時(shí)間加1天,當(dāng)前時(shí)間減去指定天數(shù)等。
以下語(yǔ)句返回當(dāng)前日期和時(shí)間,當(dāng)前時(shí)間減去1小時(shí),當(dāng)前時(shí)間加1小時(shí):
mysql>-- mysql now minus 1 hour SELECT (NOW() - INTERVAL 1 HOUR) 'NOW - 1 hour',NOW(),-- mysql now plus 1 hourNOW() + INTERVAL 1 HOUR 'NOW + 1 hour'; +---------------------+---------------------+---------------------+ | NOW - 1 hour | NOW() | NOW + 1 hour | +---------------------+---------------------+---------------------+ | 2017-08-10 04:49:50 | 2017-08-10 05:49:50 | 2017-08-10 06:49:50 | +---------------------+---------------------+---------------------+ 1 row in set以下語(yǔ)句返回當(dāng)前日期和時(shí)間,當(dāng)前日期和時(shí)間減去1天,加1天:
mysql> -- mysql now minus 1 day SELECT (NOW() - INTERVAL 1 DAY) 'NOW - 1 day',NOW(),-- mysql now plus 1 day(NOW() + INTERVAL 1 DAY) 'NOW + 1 day'; +---------------------+---------------------+---------------------+ | NOW - 1 day | NOW() | NOW + 1 day | +---------------------+---------------------+---------------------+ | 2017-08-09 05:50:47 | 2017-08-10 05:50:47 | 2017-08-11 05:50:47 | +---------------------+---------------------+---------------------+ 1 row in set?
MySQL NOW()作為列的默認(rèn)值
您可以使用NOW()函數(shù)作為DATETIME或TIMESTAMP列的默認(rèn)值。當(dāng)您在INSERT語(yǔ)句中省略日期或時(shí)間值時(shí),MySQL會(huì)將當(dāng)前日期和時(shí)間插入到默認(rèn)值為NOW()的列中。
我們來(lái)看下面的一個(gè)例子。
首先,創(chuàng)建一個(gè)名為tmp的新表,其中包含三個(gè)列:id,title和created_on。?created_on列具有由NOW()函數(shù)指定的默認(rèn)值。
USE testdb; CREATE TABLE tmp(id INT PRIMARY KEY AUTO_INCREMENT,title VARCHAR(255) NOT NULL,created_on DATETIME NOT NULL DEFAULT NOW() -- or CURRENT_TIMESTAMP );請(qǐng)注意,CURRENT_TIMESTAMP和CURRENT_TIMESTAMP()是NOW()的同義詞,因此可以互換使用它們。
第二步,在tmp表中插入一個(gè)新行,而不指定created_on列的值:
INSERT INTO tmp(title) VALUES('Test NOW() function');第三步,從tmp表查詢數(shù)據(jù):
mysql> SELECT * FROM tmp; +----+---------------------+---------------------+ | id | title | created_on | +----+---------------------+---------------------+ | 1 | Test NOW() function | 2017-08-10 05:55:17 | +----+---------------------+---------------------+ 1 row in setcreated_on列的值已更新為執(zhí)行INSERT語(yǔ)句的當(dāng)前日期和時(shí)間。
在本教程中,我們向您介紹了返回執(zhí)行語(yǔ)句的當(dāng)前日期和時(shí)間的MySQL?NOW()函數(shù)。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的MySQL now()函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
                            
                        - 上一篇: 5种社会选择——哪种最好?2022
 - 下一篇: MySQL month()函数