MySQL中日期與時間型別

2021-06-20 12:51:14 字數 1803 閱讀 1876

1、mysql的五種日期和時間型別

mysql中有多種表示日期和時間的資料型別。其中year表示年份,date表示日期,time表示時間,datetime和timestamp表示日期和實踐。它們的對比如下:

tear,位元組數為1,取值範圍為「1901——2155」

date,位元組數為4,取值範圍為「1000-01-01——9999-12-31」

time,位元組數為3,取值範圍為「-838:59:59——838:59:59」

datetime,位元組數為8,取值範圍為「1000-01-0100:00:00——9999-12-31 23:59:59」

timestamp,位元組數為4,取值範圍為「19700101080001——20380119111407」

當插入值超出有效取值範圍時,系統會報錯,並將零值插入到資料庫中。

2、year型別

給year型別複製可以有三種方法。

第一種是直接插入4位字串或者4位數字。

第二種是插入2位字串,這種情況下如果插入『00』~『69』,則相當於插入2000~2069;如果插入『70』~『99』,則相當於插入1970~1999。第二種情況下插入的如果是『0』,則與插入『00』效果相同,都是表示2023年。

第三種是插入2位數字,它與第二種(插入兩位字串)不同之處僅在於:如果插入的是一位數字0,則表示的是0000,而不是2023年。所以在給year型別賦值時,一定要分清0和『0』,雖然兩者相差個引號,但實際效果確實相差了2023年。

3、time型別

time型別表示為「時:分:秒」,儘管小時範圍一般是0~23,但是為了表示某些特殊時間間隔,mysql將time的小時範圍擴發了,而且支援負值。

對time型別賦值,標準格式是『hh:mm:ss』,但不一定非要是這種格式。

如果插入的是『d hh:mm:ss』格式,則類似插入了『(d*24+hh):mm:ss』。比如插入『223:50:50』,相當於插入了『71:50:50』。

如果插入的是『hh:mm』或『ss』格式,則效果是其他未被表示位的值賦為零值。比如插入『30』,相當於插入了『00:00:30』;如果插入『11:25』,相當於插入了『11:25:00』。

另外也可以插入『d hh』和『d hh:mm』,效果按上面的例子可以推理出來了吧。

在mysql中,對於'hhmmss'格式,系統能夠自動轉化為標準格式。

如果我們想插入當前系統的時間,則可以插入current_time或者now()。

time型別只佔3個位元組,如果只是儲存時間資料,它最合適了。

4、date型別

mysql是以yyyy-mm-dd格式來顯示date型別的值,插入資料時,資料可以保持這種格式。另外,mysql還支援一些不嚴格的語法格式,分隔符「-」可以用「@」、「.」等眾多富豪來替代。

在插入資料時,也可以使用「yy-mm-dd」格式,yy轉化成對應的年份的規則與year型別類似。

如果我們想插入當前系統的時間,則可以插入current_date或者now()。

5、datetime型別

標準格式為「yyyy-mm-dd hh:mm:ss」,具體賦值方法與上面各種型別的方法相似。

6、timestamp型別

timestamp的取值範圍比較小,沒有datetime的取值範圍大,因此輸入值時一定要保證在timestamp的範圍之內。它的插入也與插入其他日期和時間資料型別類似。

那麼timestamp型別如何插入當前時間?第一,可以使用current_timestamp;第二,輸入null,系統自動輸入當前的timestamp;第三,無任何輸入,系統自動輸入當前的timestamp。

另外有很特殊的一點:timestamp的數值是與時區相關。

mysql中日期型別的使用

常用時間和日期型別的使用 1.time型別 create table timeex start time time insert into timeex values 13 30 00 select from timeex 2.datetime型別 create table datetimeex s...

java中日期型別

date date new date 當new出的date物件不含引數時,date即為當前系統時間 年月日,時分秒均包含 date date new date system.currenttimemillis 帶引數時,直接以引數作為時間 thu aug 29 14 38 58 cst 201 3 ...

mysql更新表中日期字段時間

date add和date sub函式可以用interval關鍵字標識的時間間隔進行加減操作,類似於php中的strtotime函式 1.更新表中有效期valid time字段值都增加一天 update cqh activity set valid time date add valid time,...