1. 程式人生 > >MySQL中的時間型別轉換timestamp

MySQL中的時間型別轉換timestamp

Unixtime與字串date時間的轉換 
select unix_timestamp() 是將字串date的時間型別轉化成長整型
select from_unixtime(1355272360); 將timestamp 形式整數 轉化為 date型別

select from_unixtime(1355272360,'%Y%m%d'); 當然也可以指定輸出的時間格式: 

一、TIMESTAMP的變體

TIMESTAMP時間戳在建立的時候可以有多重不同的特性,如:

1.在建立新記錄和修改現有記錄的時候都對這個資料列重新整理:

1 TIMESTAMP
DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

2.在建立新記錄的時候把這個欄位設定為當前時間,但以後修改時,不再重新整理它:

1 TIMESTAMPDEFAULT CURRENT_TIMESTAMP

3.在建立新記錄的時候把這個欄位設定為0,以後修改時重新整理它:

1 TIMESTAMPON UPDATE CURRENT_TIMESTAMP

4.在建立新記錄的時候把這個欄位設定為給定值,以後修改時重新整理它:

1 TIMESTAMPDEFAULT ‘yyyy-mm-dd hh:mm:ss' ONUPDATE CURRENT_TIMESTAMP

MySQL目前不支援列的Default 為函式的形式,如達到你某列的預設值為當前更新日期與時間的功能,你可以使用TIMESTAMP列型別,下面就詳細說明TIMESTAMP列型別
 
二、TIMESTAMP列型別

TIMESTAMP值可以從1970的某時的開始一直到2037年,精度為一秒,其值作為數字顯示。
TIMESTAMP值顯示尺寸的格式如下表所示:


?
1 2 3 4 5 6 7 8 9 10 +---------------+----------------+ | 列型別    | 顯示格式    | | TIMESTAMP(14) | YYYYMMDDHHMMSS |  | TIMESTAMP(12) | YYMMDDHHMMSS  | | TIMESTAMP(10) | YYMMDDHHMM   | | TIMESTAMP(8) | YYYYMMDD    | | TIMESTAMP(6) | YYMMDD     | | TIMESTAMP