1. 程式人生 > >mysql的5種時間型別的比較

mysql的5種時間型別的比較

msql的5種時間型別:DATETIME、 TIMESTAMP、DATE、TIME、YEAR。

比較如下:

日期時間型別 佔用空間 日期格式 最小值 最大值 零值表示
 DATETIME  8 bytes  YYYY-MM-DD HH:MM:SS  1000-01-01 00:00:00 9999-12-31 23:59:59  0000-00-00 00:00:00
 TIMESTAMP  4 bytes  YYYY-MM-DD HH:MM:SS  19700101080001 2038 年的某個時刻 00000000000000
 DATE  4 bytes  YYYY-MM-DD 1000-01-01  9999-12-31  0000-00-00
 TIME  3 bytes  HH:MM:SS  -838:59:59 838:59:59  00:00:00
 YEAR  1 bytes  YYYY 1901  2155  0000

 DATETIME

     DATETIME 用於表示 年月日 時分秒,是 DATE 和 TIME 的組合,並且記錄的年份(見上表)比較長久。如果實際應用中有這樣的需求,就可以使用 DATETIME 型別。

1、DATETIME列可以設定為多個,預設可為null,可以手動設定其值。 
2、DATETIME列不可設定預設值。
3、DATETIME列可以變相的設定預設值,比如通過觸發器、或者在插入資料時候,將DATETIME欄位值設定為now(),這樣可以做到了,尤其是後者,在程式開發中常常用到。

 TIMESTAMP

  • TIMESTAMP 用於表示 年月日 時分秒,但是記錄的年份(見上表)比較短暫,TIMESTAMP列必須有預設值,預設值可以為“0000-00-00 00:00:00”,但不能為null。
  • TIMESTAMP 和時區相關,更能反映當前時間。當插入日期時,會先轉換為本地時區後再存放;當查詢日期時,會將日期轉換為本地時區後再顯示。所以不同時區的人看到的同一時間是  不一樣的。
  • 表中的第一個 TIMESTAMP 列自動設定為系統時間(CURRENT_TIMESTAMP)。當插入或更新一行,但沒有明確給 TIMESTAMP 列賦值,也會自動設定為當前系統時間。如果表中有第二個 TIMESTAMP 列,則預設值設定為0000-00-00 00:00:00。
  • TIMESTAMP 的屬性受 Mysql 版本和伺服器 SQLMode 的影響較大。

     如果記錄的日期需要讓不同時區的人使用,最好使用 TIMESTAMP。

注:一般建表時候,建立時間用datetime,更新時間用timestamp。

 DATE

    DATE 用於表示 年月日,如果實際應用值需要儲存 年月日 就可以使用 DATE。

 TIME

TIME 用於表示 時分秒,如果實際應用值需要儲存 時分秒 就可以使用 TIME。

 YEAR

    YEAR 用於表示 年份,YEAR 有 2 位(最好使用4位)和 4 位格式的年。 預設是4位。如果實際應用只儲存年份,那麼用 1 bytes 儲存 YEAR 型別完全可以。不但能夠節約儲存空間,還能提高表的操作效率。

相關推薦

mysql的5時間型別比較

msql的5種時間型別:DATETIME、 TIMESTAMP、DATE、TIME、YEAR。 比較如下: 日期時間型別 佔用空間 日期格式 最小值 最大值 零值表示  DATETIME  8 bytes  YYYY-MM

儲存型別比較-檔案、塊、物件儲存

    20世紀電子與資訊科技迅速發展,機器計算迅速普及,馮·諾依曼在1945年6月30日,提出了儲存程式邏輯架構,即現有的計算機都遵循的“馮·諾依曼體系架構”,具體如下圖:   我們可以看出,馮諾依曼體系結構與人腦(生物)計算模型匹配度相當準確。我們通常把運算器和控制器合併成中央處理器(CPU),內

js時間型別比較

function comptime() {     var beginTime = "2009-09-21 00:00:00";     var endTime = "2009-09-21 00:00:01";     var beginTimes = beginTime.substring(0, 10).s

mybatis 時間型別比較

<![CDATA[AND TO_DATE(#{beginAccountDate},'yyyy-MM-DD')<= TRUNC(A.ACCOUNT_DATE)]]> javabea

Mysql幾時間型別

轉自:http://www.cnblogs.com/Jie-Jack/p/3793304.html mysql(5.5)所支援的日期時間型別有:DATETIME、 TIMESTAMP、DATE、TIME、YEAR。 幾種型別比較如下: 日期時間型別 佔用空間 日期格式

HTML5表單教程之input新增加的幾時間型別

HTML5表單教程之input新增加的六種時間型別 今天用到了html5中input對時間的型別校驗,之前每次做時間輸入框是每次都要很麻煩的校驗時間的格式,現在用html5的時間型別就方便多了。 注意:此種類型的input外觀取決於瀏覽器,我測出來的結果目前只有谷歌

資料庫的三時間型別

package homework; import java.sql.Date; import java.sql.Time; import java.sql.Timestamp; public cl

mysql的五日期和時間型別【轉載】

[mysql的五種日期和時間型別] mysql(5.5)所支援的日期時間型別有:DATETIME、 TIMESTAMP、DATE、TIME、YEAR。 幾種型別比較如下: 日期時間型別 佔用空間 日期格式 最小值 最大值 零值表示

java的list幾實現方式的效率(ArrayList、LinkedList、Vector、Stack),以及 java時間戳的三獲取方式比較

一、list簡介 List列表類,順序儲存任何物件(順序不變),可重複。 List是繼承於Collection的介面,不能例項化。例項化可以用: ArrayList(實現動態陣列),查詢快(隨

MySQL 幾日期時間型別之間的區別

mysql(5.5)所支援的日期時間型別有:DATETIME、 TIMESTAMP、DATE、TIME、YEAR。 幾種型別比較如下: 日期時間型別 佔用空間 日期格式 最小值 最大值 零值表示  DATETIME  8 bytes  YYYY-MM-DD HH:MM:SS  1000-01-01

002-Redis五資料型別-設定key的過期時間

1、redis命令客戶端 [[email protected] bin]# ./redis-cli 127.0.0.1:6379> #是否執行著 127.0.0.1:6379> ping PONG Redis五種資料型別:String、Hash、List、Set、SortedSe

python型別比較的3方式

通過types模組的類成員來判斷,其實所有python中的型別都是這個types模組中型別的例項。 import types  type(x) is types.IntType # 判斷是否int 型別  type(x) is types.StringType #是否s

線性時間排序: 三非基於比較的內部排序演算法

未完待續。。。。。。 一、基於比較的排序演算法,在最壞情況下,最少都需要用O(nlgn)次比較。 下面來證明一下。 不妨我們假設 排序都是從小到大進行排序。 說明: 用1、2、3來表示三個元素,用π(1)、π(2)、π(3)來表示該元素對應的值。用尖括號〈1,3,2〉表示π

EXT JS兩時間控制元件的比較

1、new Ext.form.DateField 只提供了日期選擇部分,沒有提供時間部分供選擇,例:this.beginDt =  newExt.form.DateField({        selectOnFocus: true,        allowBlank: f

mysql5.7官網直譯資料型別--日期和時間型別1

11.3 Date and Time Types 日期和時間型別 11.3.1 The DATE, DATETIME, and TIMESTAMP Types 日期,日期時間,和時間戳型別 11.3.2 The TIME Type 時間型別 11.3.3 The YEAR

Date時間型別的變數比較方法

前一段時間在開發時,遇到一個時間型別的比較,以為可以向常見的變數比較方式來比較(如:a==b,a!=b),進而實現業務,後來發現是錯誤的。 java.util.Date date1=new Date(); java.util.Date date2=new Date(); i

js 開始時間,當前時間,結束時間比較

ndt rac else mod code track imei 時間 ace //開始時間不能小於當前時間 function startTimeIsBigThanTotay(startTime){ var startdate = new Date((s

linux 下查看文件的完整時間信息及三時間屬性

hang nod conda strong 進程 腳本 acc modify 目錄 一、linux下查看文件的完整時間信息1、Linux 下查看文件時,ls –l 缺省是不顯示秒的:# ls -l /etc/ total 0 -rw-r--r--. 1 root ro

Date時間格式比較大小

try out 通過 大小 simple pre 相等 exc format 方法一: 兩個Date類型的變量可以通過compareTo方法來比較。此方法的描述是這樣的:如果參數 Date 等於此 Date,則返回值 0;如果此 Date 在 Date 參數之前,則返回小

虛擬化技術比較

設備 conf build lin 不能 MF lsp 重復 進行 三種虛擬化技術比較 ESXi 與其它虛擬化底層產品之比較: 序號 虛擬化管理程序屬性 VMware ESXi 5.0 采用 Hyper-V 的 Windows Server 20