資料庫5 7 日期有時間型別

2021-10-01 05:41:23 字數 1504 閱讀 6840

簡介

日期與時間型別

mysql中有多種表示日期的資料型別,主要有:datetime date timestamp,date .每乙個型別都有合法的取值範圍,當指定確實不合法的值時系統將「零」值插入到資料庫中。

year型別是乙個單位元組型別用於表示年,在儲存時只需要1個位元組。可以使用各種格式指定year值,如下所示:

(1)以4位字串或者四位數字格式表示的year,範圍為『1901』-『2155』。輸入格式『yyyy』或者yyyy,列如,輸入『2010』或2010,插入到資料庫的值均為2010.

(2)以2位字串格式表示的year,範圍為『00』到『99』。『00-『69』和『70』-『99』範圍的值分別被轉換為2000-2069和1970-1999範圍的year值。『0』與『00』的作用相同。插入超過取值範圍的值將轉被換位2000.

(3)以2位數字表示的year,範圍為1-99。1-69和70-99範圍值分別為轉換為2001-2069和1970-1999的範圍year值。

例項:建立資料表t***,定義資料型別為year的字段y,向表中插入值2010,『2010』『2016』,sql語句如下:

首先建立表t***;

向表中插入資料;

語句執行後,mysql給出了一條錯誤提示,使用show檢視錯誤資訊:

可以看到,插入的第三個值2166超過了year型別的取值範圍,此時不能正常執行插入操作,檢視結果:

由結果可以看到,當插入為數值型別的2010或者字串型別的『2010』時,都正確的儲存到了資料庫中;為當插入值『2166』時,由於超出了year型別的取值範圍,因此,不能插入值。

例:5向t***表中y欄位插入2位字串表示的year值,分別為『0』,『00』『77』和『10』,sql語句如下:

首先刪除表中資料;

由結果可以看到,字串『0』和『00』的作用相同,分別都轉換成了2023年;『77』轉換為1977;『10』轉換為2010.

首先刪除表中資料:

由結果可以看到,0被轉換為0000;78被轉換為1978;11被轉換為2011.

總結!資料庫應該多練習孰能生巧!

資料庫關係代數基礎 有時間會更新

傳統的集合運算 4種 1 並 union 設關係r和關係s具有相同的目n 即兩個關係都有n個屬性 且相應的屬性取自同乙個域則r s 仍為n目關係,由屬於r或屬於s的元組組成.記作 2 差 union 設關係r和關係s具有相同的目n且相應的屬性取自同乙個域則r s 仍為n目關係,由屬於r而不屬於s的所...

資料庫已有時間索引,想再新增ID索引

將時間索引的 複製進去後,將編輯框的變數改為m queryid。準備先以時間索引查詢出大概資料,再直接使用id索引精確查詢。於是想直接精確查id為105的資料資訊。出現錯誤 發現錯誤原因是忘了改sql語句 原來查的是時間,現在查的是id,所以應該查詢id 依時間查詢改為依id查詢 可以發現列表框裡的...

MySQL 按照日期格式查詢帶有時間戳資料

按照日期格式查詢帶有時間戳資料 一般在msql資料庫中的時間都是以時間戳的格式來儲存時間的,但是對於我們來說,時間戳格式具體表示的是什麼時間,我們很難一眼看出來,所以當我們要具體查詢某乙個時間或時間段的資料時,就要進行日期到時間戳的轉換。我們常會用到這兩個函式 from unixtime 和unix...