Mysql中的Datetime和Timestamp比較
mysql中用於表示時間的三種型別date, datetime, timestamp (如果算上int的話,四種) 比較容易混淆,下面就比較一下這三種型別的異同
相同點
都可以用於表示時間
都呈字串顯示
不同點
1.顧名思義,date只表示'YYYY-MM-DD'形式的日期,datetime表示'YYYY-MM-DD HH:mm:ss'形式的日期加時間,timestamp與datetime顯示形式一樣。
2.date和datetime可表示的時間範圍為'1000-01-01'到'9999-12-31',timestamp由於受32位int型的限制,能表示'1970-01-01 00:00:01'到'2038-01-19 03:14:07'的UTC時間。
3.mysql在儲存timestamp型別時會將時間轉為UTC時間,然後讀取的時候再恢復成當前時區。 假如你儲存了一個timestamp型別的值之後,修改了mysql的時區,當你再讀取這個值時就會得到一個錯誤的時間。而這種情況在date和datetime中不會發生。
4.timestamp型別提供了自動更新的功能,你只需要將它的預設值設定為CURRENT_TIMESTAMP。
5.除了date是保留到天,datetime和timestamp都保留到秒,而忽略毫秒。
時間格式
mysql提供了一種比較寬鬆的時間字串格式用於增刪改查。參考iso時間格式,一般習慣於寫成'2013-06-05 16:34:18'。但是你也可以簡寫成'13-6-5',但是這樣容易造成混淆,比如mysql也會把'13:6:5'也當做年月日處理,而當'13:16:5'這種形式,則被mysql認為是不正確的格式,會給出一個警告,然後存入資料庫的值是'0000-00-00 00:00:00'。
手冊中還特意提到了一種情況,就是當年的值是0~69時,mysql認為是2000~2069,而70~99時則認為是1970~1999。我感覺是一種畫蛇添足了。
總之,以不變應萬變,使用'YYYY-MM-DD HH:mm:ss'格式總是不會錯的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/430/viewspace-2804576/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL 的 timestamp 和 datetime 型別比較MySql型別
- Mysql日期(DATE, TIME, DATETIME, TIMESTAMP)型別的比較MySql型別
- MySQL中datetime和timestamp的區別MySql
- python date 和 datetime 的取值範圍(對比 Mysql 的 datetime 和 timestamp)PythonMySql
- MySQL: datetime vs timestampMySql
- mysql timestamp比較查詢MySql
- mysql資料庫時間型別datetime、bigint、timestamp的查詢效率比較MySql資料庫型別
- QXMySQL 中 datetime 和 timestamp 的區別與選擇lypMySql
- mysql中的date、datetime、timestamp你還不知道怎麼使用嗎MySql
- mysql資料庫date 、datetime、time、timestamp區別MySql資料庫
- MySQL 中的 distinct 和 group by 的效能比較MySql
- DateTime.Compare()比較時間大小
- MySQL 5.7 datetime和timestamp欄位設定default 0 插入資料包錯MySql
- Mysql時間欄位格式如何選擇,TIMESTAMP,DATETIME,INT?MySql
- MySQL中的CURRENT_TIMESTAMPMySql
- Mysql中的Btree與Hash索引比較MySql索引
- KImysql timestamp比較查詢遇到的坑及解決ehsMySql
- 360°全方位比較PostgreSQL和MySQLMySql
- powershell中的where和foreach比較
- Java 中 Comparable 和 Comparator 比較Java
- Mysql - 如何決定用 datetime、timestamp、int 哪種型別儲存時間戳?MySql型別時間戳
- PostgreSQL與MySQL的比較 - hackrMySql
- 使用perl比較mysql的版本MySql
- js 深比較和淺比較JS
- 資料庫系列:MySQL引擎MyISAM和InnoDB的比較資料庫MySql
- Go和Python比較的話,哪個比較好?GoPython
- Oracle中Date和Timestamp的區別Oracle
- MySQL:MySQL層比較函式呼叫MySql函式
- ==和equals方法的比較
- ImageMagic 和 GraphicsMagick 的比較
- ArrayList和LinkedList的比較
- Oracle date 型別比較和String比較Oracle型別
- JAVA中字串比較equals()和equalsIgnoreCase()的區別Java字串
- [pythonskill]Python中NaN和None的詳細比較PythonNaNNone
- JAVA中的Comparable介面和自定義比較器Java
- Java中的字串操作(比較String,StringBuiler和StringBuffer)Java字串UI
- numpy 中 array 和 matrix 相乘的結果比較
- Go中泛型和反射比較指南Go泛型反射