MySQL 時間戳(Timestamp)函式

2021-09-07 03:18:16 字數 2119 閱讀 8163

1. mysql 獲得當前時間戳函式:current_timestamp, current_timestamp()

mysql> select current_timestamp, current_timestamp();

+---------------------+---------------------+

| current_timestamp | current_timestamp() |

+---------------------+---------------------+

| 2008-08-09 23:22:24 | 2008-08-09 23:22:24 |

+---------------------+---------------------+

2. mysql (unix 時間戳、日期)轉換函式:

unix_timestamp(),

unix_timestamp(date),

from_unixtime(unix_timestamp),

from_unixtime(unix_timestamp,format)

下面是示例:

select unix_timestamp(); -- 1218290027

select unix_timestamp('2008-08-08'); -- 1218124800

select unix_timestamp('2008-08-08 12:30:00'); -- 1218169800

select from_unixtime(1218290027); -- '2008-08-09 21:53:47'

select from_unixtime(1218124800); -- '2008-08-08 00:00:00'

select from_unixtime(1218169800); -- '2008-08-08 12:30:00'

select from_unixtime(1218169800, '%y %d %m %h:%i:%s %x'); -- '2008 8th august 12:30:00 2008'

3. mysql 時間戳(timestamp)轉換、增、減函式:

timestamp(date) -- date to timestamp

timestamp(dt,time) -- dt + time

timestampadd(unit,interval,datetime_expr) --

timestampdiff(unit,datetime_expr1,datetime_expr2) --

請看示例部分:

select timestamp('2008-08-08'); -- 2008-08-08 00:00:00

select timestamp('2008-08-08 08:00:00', '01:01:01'); -- 2008-08-08 09:01:01

select timestamp('2008-08-08 08:00:00', '10 01:01:01'); -- 2008-08-18 09:01:01

select timestampadd(day, 1, '2008-08-08 08:00:00'); -- 2008-08-09 08:00:00

select date_add('2008-08-08 08:00:00', interval 1 day); -- 2008-08-09 08:00:00

mysql timestampadd() 函式類似於 date_add()。

select timestampdiff(year,'2002-05-01','2001-01-01'); -- -1

select timestampdiff(day ,'2002-05-01','2001-01-01'); -- -485

select timestampdiff(hour,'2008-08-08 12:00:00','2008-08-08 00:00:00'); -- -12

select datediff('2008-08-08 12:00:00', '2008-08-01 00:00:00'); -- 7

mysql timestampdiff() 函式就比 datediff() 功能強多了,datediff() 只能計算兩個日期(date)之間相差的天數。

mysql更新時間戳 Mysql中時間戳自動更新

mysql時間戳字段更新 timestamp是mysql中的時間戳字段,這個字段可以支援自動新增和更新。1.概述 在我們設計表的時候,考慮將行資料的建立時間和最後更新時間記錄下來是很好的實踐。尤其是可能需要做資料同步或者對資料新鮮度有要求的表。舉些應用場景,更新距上次更新超過2小時的行資料,或者是將...

mysql時間戳儲存

利用時間戳來區分資料庫中的兩條不同資料時,時間衝突是乙個簡單而又麻煩的東西,不管是高併發還是低請求的系統,時間衝突的概率依然存在,只是高低的問題。一般而言,對於時間衝突概率高的系統,一般是提高時間的精度來區分兩條資料,甚至加上如隨機數 程序id 伺服器id等。使用mysql資料庫時,可以利用mysq...

mysql關於時間戳

想讓mysql每條插入的資料中自動存入時間,精確毫秒,每次修改行的時候,自動存入時間,精確毫秒 如果只顯示年月日時分秒,則把6去掉即刻 create table test1 text varchar 30 createdtime timestamp 6 not null default curren...