日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

MySQL now()函数

發(fā)布時(shí)間:2023/12/3 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL now()函数 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(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 set

created_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)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。