MySQL中SYSDATE和NOW的區別

2022-12-28 05:29:08 字數 1948 閱讀 5063

1樓:電腦老手

mysql中有5個函式需要計算當前時間的值:

now.返回時間,格式如:2012-09-23 06:48:28

curdate,返回時間的日期,格式如:2012-09-23

curtime,返回時間,格式如:06:48:28

unix_timestamp,返回時間整數戳,如:1348408108

sysdate,返回時間,格式和time()函式返回時間一樣,但是有區別。

除了本身定義所返回的區別以外,另一個區別是:前四個函式都是返回基於語句的開始執行時間,而sysdate返回time的值。

通過比較,可以發現這兩個函式的區別:

now()執行如下:

mysql> select now(),sleep(2),now();

| now() | sleep(2) | now() |

| 2012-09-23 06:54:29 | 0 | 2012-09-23 06:54:29 |

1 row in set (2.00 sec)

其返回的兩個值是一樣的,因為都是表示語句開始執行的時間。

sysdate執行如下:

mysql> select sysdate(),sleep(2),sysdate();

| sysdate() | sleep(2) | sysdate() |

| 2012-09-23 06:55:00 | 0 | 2012-09-23 06:55:02 |

1 row in set (2.01 sec)

也正因為有這個區別,我們一般在執行語句的時候,都是用now(),因為sysdate獲取當時實時的時間,這有可能導致主庫和從庫是執行的返回值是不一樣的,導致主從資料不一致。

其上其它函式執行如下:

mysql> select now(),sysdate(),curdate(),curtime(),unix_timestamp()\g;

*************************** 1. row ***************************

now(): 2012-09-23 07:00:05

sysdate(): 2012-09-23 07:00:05

curdate(): 2012-09-23

curtime(): 07:00:05

unix_timestamp(): 1348408805

1 row in set (0.00 sec)

2樓:閱受讀接並

mysql獲得當前日期+時間(date + time)函式sysdate() :

sysdate() 日期時間函式跟 now() 類似,不同之處在於:now() 在執行開始時值就得到了, sysdate() 在函式執行時動態得到值。

如下例項:

mysql> select now(), sleep(3), now();

| now() | sleep(3) | now() |

| 2015-04-12 16:00:00 | 0 | 2015-04-12 16:00:00 |

mysql> select sysdate(), sleep(3), sysdate();

| sysdate() | sleep(3) | sysdate() |

| 2015-04-12 16:01:16 | 0 | 2015-04-12 16:01:19 |

可以看到,雖然中途 sleep 3 秒,但 now() 函式兩次的時間值是相同的; sysdate() 函式兩次得到的時間值相差 3 秒。mysql manual 中是這樣描述 sysdate() 的:return the time at which the function executes。

sysdate() 日期時間函式,一般情況下很少用到。

mysql分類查詢前N條記錄,mysql分類查詢前N條記錄

select from table limit 5 select from issu info limit 0,6limit 0,6 這裡是對的,顯示前6條 select from issu info limit 7,6 limit 7,6 從第8條開始取,取6條 select from table...

sqlserver和mysql中top用法的區別

為實現類似top的功能,bai我們在dusql server中和mysql中使用zhi到的sql語句是不同的 dao。1 在sql server中,版我權們使用 select top n from tablename來查詢tablename表中前n條記錄。2 在mysql中,我 們則使用select...

cmd中怎麼進,cmd中怎麼進mysql

一 單擊windows圖示 搜尋框內輸入cmd,點選執行。二 在彈出的cmd命令框中輸入 net start mysql 按下回車。三 再次輸入 mysql hlocalhost uroot p 命令回車 進入mysql資料庫。四 當顯示下面的介面時表示成功連結到了mysql資料庫。五 輸入 sho...