NOW()
在每個查詢中只計算一次,也就是在查詢開始執行時。這就是說,如果在一個單獨的查詢中多次引用了NOW()
,它只會給出值都是一個相同的時間。
UNIX_TIMESTAMP()
UNIX_TIMESTAMP(date)
'1970-01-01 00:00:00'
GMT 開始的秒數)。如果以一個參數date
調用UNIX_TIMESTAMP()
,它將返回該參數值從'1970-01-01 00:00:00'
GMT 開始經過的秒數值。date
可以是一個DATE
字符串,一個DATETIME
字符串,一個TIMESTAMP
,或者以一個YYMMDD
或YYYYMMDD
顯示的本地時間:mysql> SELECT UNIX_TIMESTAMP(); -> 882226357 mysql> SELECT UNIX_TIMESTAMP('1997-10-04 22:23:00'); -> 875996580當
UNIX_TIMESTAMP
被用于一個TIMESTAMP
列時,函數直接返回一個內部的時間戳值,而不進行一個隱含地 “string-to-unix-timestamp” 轉換。如果你傳遞一個超出范圍的日期參數給UNIX_TIMESTAMP()
,它將返回 0,但是請注意,MySQL 對其僅僅進行基本的檢驗(年范圍 1970-2037,月份 01-12,日期 01-31)。 如果你希望減去UNIX_TIMESTAMP()
列,你應該需要將結果強制轉換為一有符號整數。查看章節6.3.5 Cast 函數。
FROM_UNIXTIME(unix_timestamp [,format])
'YYYY-MM-DD HH:MM:SS'
或YYYYMMDDHHMMSS
格式返回一個unix_timestamp
參數值,返回值的形式取決于該函數使用于字符串還是數字語境。 如果format
給出,返回值依format
字符串被格式。format
可以包含與DATE_FORMAT()
函數同樣的修飾符。mysql> SELECT FROM_UNIXTIME(875996580); -> '1997-10-04 22:23:00' mysql> SELECT FROM_UNIXTIME(875996580) + 0; -> 19971004222300 mysql> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(),
文章來源于領測軟件測試網 http://www.kjueaiud.com/