MySQL - NOW() 函式



MySQL 的 NOW() 函式用於獲取當前日期和時間值。結果值可以是字串或數值,具體取決於上下文,返回值將採用 'YYYY-MM-DD hh:mm:ss' 或 YYYYMMDDhhmmss 格式。

由於不同時區的存在,當前日期和時間值在系統中是本地的。例如,如果系統的所在地在印度,則此函式遵循的時間區域將為印度標準時間。

語法

以下是 MySQL NOW() 函式的語法:

NOW();

引數

此方法不接受任何引數。

返回值

此函式返回格式為 'YYYY-MM-DD HH:MM:SS' 的當前日期和時間。

示例

以下示例演示了 MySQL NOW() 函式的使用:

SELECT NOW() As Result;

輸出

這將產生以下結果:

結果
2023-11-15 11:05:51

示例

這裡,我們將 0 新增到當前日期和時間值。"+0" 是一種將日期和時間轉換為 數字表示 的簡單方法:

SELECT NOW()+0 As Result;

輸出

以下是輸出:

結果
20231115110551

示例

我們可以將秒數新增到當前時間戳,如下所示:

SELECT NOW()+12  As Result;

輸出

以下是輸出:

結果
20231115110563

示例

我們還可以使用此函式從當前時間減去所需的秒數:

SELECT NOW()-12 As Result;

輸出

以下是輸出:

結果
20231115110539

示例

此函式接受一個可選引數,即 fsp, 使用它我們可以指定秒的小數部分所需的位數。

SELECT NOW(3) As Result;

輸出

以下是輸出:

結果
2023-11-15 11:05:51.166

示例

在此示例中,我們使用以下 CREATE TABLE 查詢建立了一個名為 ORDERS 的表:

CREATE TABLE ORDERS (
   OID INT NOT NULL,
   DATE VARCHAR (20) NOT NULL,
   CUSTOMER_ID INT NOT NULL,
   AMOUNT DECIMAL (18, 2)
);

現在,使用 INSERT 語句將以下記錄插入 ORDERS 表中:

INSERT INTO ORDERS VALUES 
(102, '2009-10-08 00:00:00', 3, 3000.00),
(100, '2009-10-08 00:00:00', 3, 1500.00),
(101, '2009-11-20 00:00:00', 2, 1560.00),
(103, '2008-05-20 00:00:00', 4, 2060.00);

執行以下查詢以獲取上面建立的表中的所有插入記錄:

Select * From ORDERS;

以下是 ORDERS 表:

OID DATE CUSTOMER_ID AMOUNT
102 2009-10-08 00:00:00 3 3000.00
100 2009-10-08 00:00:00 3 1500.00
101 2009-11-20 00:00:00 2 1560.00
103 2008-05-20 00:00:00 4 2060.00

這裡,我們使用 MySQL NOW() 函式來計算“DATE”列與當前日期和時間之間的天數差值:

SELECT OID, DATE, TIMESTAMPDIFF(DAY, DATE, NOW())
As Day_Difference FROM ORDERS;

輸出

輸出顯示如下:

OID DATE Day_Difference
102 2009-10-08 00:00:00 5151
100 2009-10-08 00:00:00 5151
101 2009-11-20 00:00:00 5108
103 2008-05-20 00:00:00 5657
廣告