timestamp和datetime的區別

時間 2022-03-03 06:32:51

1樓:傾城傾心

1. 儲存空間不同

a) timestamp占用4個位元組

b) datetime占用8個位元組

2. 受時區影響

c) timestamp實際記錄的是1970-01-01 00:00:01到現在的數數,受時區影響

d) datetime不受時區影響

3. 時間範圍不同

e) timestamp的時間範圍是:'1970-01-01 00:00:01' utc ~ '2038-01-19 03:14:07' utc

f) datetime的時間範圍是:'1000-01-01 00:00:00' ~ '9999-12-31 23:59:59'

4. 自動更新

g) timestamp型別在預設情況下,insert、update 資料時,timestamp列會自動以當前時間(current_timestamp)填充/更新。

2樓:愛可生雲資料庫

timestamp:占用 4 位元組,內部實現是新紀元時間(1970-01-01 00:00:

00)以來的秒,那麼這種格式在展示給使用者的時候就需要做必要的時區轉換才能得到正確資料。

datetime和timestamp的區別

3樓:愛可生雲資料庫

timestamp:占用 4 位元組,內部實現是新紀元時間(1970-01-01 00:00:

00)以來的秒,那麼這種格式在展示給使用者的時候就需要做必要的時區轉換才能得到正確資料。

4樓:

完全不同的兩個型別

datetime為時間型別,由日期跟時間兩部分組成,精度3.33毫秒timestamp為varbinary(十六進製制)型別,是時間戳值,且在資料庫中必須是唯一的

在oracle中,這兩個型別是可以轉換的,但是在sqlserver中是不可以的

時間戳只是為了標識資料的唯一與改變的,與時間不可互換

5樓:椰子糖

想要區分兩者的不同,就要了解兩者各自的儲存特性。

datetime:儲存的時間範圍更大,是從1001年到9999年。datetime儲存日期和時間會把值封裝到yyyymmddhhmmss的整數中,所以跟時區無關。

儲存的值會占用8個位元組的儲存空間。

timestamp:它儲存的時間範圍小的多,是從1970年到2038年。它儲存值只會占用4個位元組的儲存空間。

需要注意的一點是,它會根據時區的不同,表現為不同的時間。舉個例子來說吧,如果儲存的值是0,那麼在格林尼治就會表現為1970-01-01 00:00:

00,但是在美國就會表示為1969-12-31 19:00:00。

還有,datetime的預設值是null,但是timestamp的預設值是not null,可以在建立表的時候,為timestamp列設定預設值current_timestamp,列就會在資料插入時自動記錄當前的時間。

再多說一句,mysql提供了兩個函式來做unix時間戳和日期的相互轉化:from_unixtime()可以將unix時間戳轉化為日期;unix_timestamp()可以將日期轉化為unix時間戳。

純手打,希望可以幫到你,共同進步。:)

6樓:皖

datetime

日期和時間的組合。支援的範圍是'1000-01-01 00:00:

00'到'9999-12-31 23:59:59'。

mysql以'yyyy-mm-dd hh:mm:ss'格式顯示datetime值,但允許使用字串或數字為datetime列分配值。

timestamp[(m)]

時間戳。範圍是'1970-01-01 00:00:00'到2037年。

timestamp列用於insert或update操作時記錄日期和時間。如果你不分配乙個值,表中的第乙個timestamp列自動設定為最近操作的日期和時間。也可以通過分配乙個null值,將timestamp列設定為當前的日期和時間。

timestamp值返回後顯示為'yyyy-mm-dd hh:mm:ss'格式的字串,顯示寬度固定為19個字元。如果想要獲得數字值,應在timestamp 列新增+0。

注釋:mysql 4.1以前使用的timestamp格式在mysql 5.1中不支援;關於舊格式的資訊參見mysql 4.1 參考手冊。

mysql中datetime和timestamp的區別

7樓:匿名使用者

datetime

日期和時間的組合。支援的範圍是'1000-01-01 00:00:

00'到'9999-12-31 23:59:59'。

mysql以'yyyy-mm-dd hh:mm:ss'格式顯示datetime值,但允許使用字串或數字為datetime列分配值。

timestamp[(m)]

時間戳。範圍是'1970-01-01 00:00:00'到2037年。

timestamp列用於insert或update操作時記錄日期和時間。如果你不分配乙個值,表中的第乙個timestamp列自動設定為最近操作的日期和時間。也可以通過分配乙個null值,將timestamp列設定為當前的日期和時間。

timestamp值返回後顯示為'yyyy-mm-dd hh:mm:ss'格式的字串,顯示寬度固定為19個字元。如果想要獲得數字值,應在timestamp 列新增+0。

注釋:mysql 4.1以前使用的timestamp格式在mysql 5.1中不支援;關於舊格式的資訊參見mysql 4.1 參考手冊。

---複製來的~~

mysql中「datetime」和「timestamp」的區別是什麼?

8樓:丿窮奇灬

datetime、date和timestamp,除了date用來表示乙個不帶時分秒的是日期,另外兩個都帶時分秒。timestamp還可以精確到毫秒。

timestamp列必須有預設值,預設值可以為「0000-00-00 00:00:00」,但不能為null。

timestamp列不可以設定值,只能由資料庫自動去修改。

乙個表可以存在多個timestamp列,但只有乙個列會根據資料更新而改變為資料庫系統當前值。因此,乙個表中有多個timestamp列是沒有意義,實際上乙個表只設定乙個timestamp列。

mysql是乙個關係型資料庫管理系統,由瑞典mysql ab 公司開發,目前屬於 oracle 旗下產品。mysql 最流行的關係型資料庫管理系統,在 web 應用方面mysql是最好的 rdbms (relational database management system,關聯式資料庫管理系統) 應用軟體之一。

mysql是一種關聯資料庫管理系統,關聯資料庫將資料儲存在不同的表中,而不是將所有資料放在乙個大倉庫內,這樣就增加了速度並提高了靈活性。

mysql所使用的 sql 語言是用於訪問資料庫的最常用標準化語言。mysql 軟體採用了雙授權政策,它分為社群版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放原始碼這一特點,一般中小型**的開發都選擇 mysql 作為**資料庫。

由於其社群版的效能卓越,搭配 php 和 apache 可組成良好的開發環境。

人類的大腦皮層中有言語區 w區 v區 s區和h區 它們分別對應的語言功能是

據分析可知,w區為書寫中樞,v區為視覺性語言中樞,s區為說話中樞,h區為聽覺性語言中樞 故人類的大腦皮層中有四個言語區 w區 v區 s區和h區分別對應的語言功能是寫字 閱讀 說話 聽 故選 b 臨床發現,損傷大腦皮層 前回底部的s區,病人可以看懂文字和聽懂別人談話,但自己卻不會講話,則該區域為 語言...

jqueryforeach和each的區別

jquert沒有foreach foreach是原生js的方法,針對陣列,foreach value,index,arr each是jq的方法,針對jq物件,each index,value 注意兩者第一二個引數是位置顛倒的 jquery裡沒有foreach的函式 jquery裡面的each 是什麼...

since和for,as,because的區別是什麼

becaue since as和for表達原因時的區分 because,since,as和for的區別 because since as for這四個詞都是表示原因或理由的連線詞,但是as,because,since是從屬連詞,引導原因狀語從句,for是並列連詞,所引導的不是原因狀語從句,而是表示理...

neither nor和both and的區別

both and.意為 兩者 兩個 雙方 謂語動詞用複數 both john and ann are good at french.either.or.或者.或者.不是.就是.he is either a doctor or a teacher.注意 連線兩個並列主語是,謂語動詞與其靠近的主語一致....

git revert和git reset的區別

git中,每一次提交都會生成乙個commit git revert會生成乙個新的commit,將之前的某個commit的修改恢復過來 git reset會將head移動到某個commit上,換種說法就是將某個commit變成最後乙個commit 譬如現在有a,b,c三個commit 執行git re...