天天看點

MySQL 日期時間 專題

 6. MySQL last_day() 函數:傳回月份中的最後一天。

interval為取間隔的含義,在這個SQL中,子查詢的where條件中紅色部分含義說白了就是:當A表時間 = B表時間 + 時間

也可以擴充使用為間隔多少小時:A.T_DATE = B.T_DATE+ interval '1' hour——即 A表時間 = B表時間 + 1小時,也可以為分鐘、秒。

MySQL 日期時間 專題
MySQL 日期時間 專題

MySql計算兩個日期時間的差函數:

第一種:TIMESTAMPDIFF函數,需要傳入三個參數,

第一個是比較的類型,可以比較FRAC_SECOND、SECOND、 MINUTE、 HOUR、 DAY、 WEEK、 MONTH、 QUARTER或 YEAR幾種類型,

第二個和第三個參數是待比較的兩個時間,比較是後一個時間減前一個時間,具體用法如下:

傳回結果是104,這裡比較的是兩個時間的天數差;

這裡比較的是兩個時間的月份,傳回的結果是3;

第二種方法: DATEDIFF函數,就傳入兩個日期函數,比較的DAY天數,第一個參數減去第二個參數的天數值,具體用法如下:

SELECT DATEDIFF('2013-01-13','2012-10-01');

傳回的結果也是104。

另外其它的日期函數,

now()函數傳回的是目前時間的年月日時分秒,如:2008-12-29 16:25:46

CURDATE()函數傳回的是年月日資訊: 如:2008-12-29

CURTIME()函數傳回的是目前時間的時分秒資訊,如:16:25:46

另外,如果我們想對一個包含年月日時分秒日期格式化成年月日日期,可以使用DATE(time)函數,如

DATE(now()) 傳回的是 2008-12-29

http://blog.sina.com.cn/s/blog_6d39dc6f0100m7eo.html

createTime between beginTime and endTime   等價于: createTime >=beginTime  and createTime <=endTime   即between .. and 是一個閉區間

執行結果:

MySQL 日期時間 專題

MySQL 日期加減:

DATE_ADD(date,INTERVAL expr type) –加法

DATE_SUB(date,INTERVAL expr type) –減法

應用場景:

1、在資料表中,要記錄每條資料是什麼時候建立的,不需要應用程式去特意記錄,而由資料資料庫擷取目前時間自動記錄建立時間;

2、在資料庫中,要記錄每條資料是什麼時候修改的,不需要應用程式去特意記錄,而由資料資料庫擷取目前時間自動記錄修改時間;

實作方式:

1、将字段類型設為  TIMESTAMP 

2、将預設值設為  CURRENT_TIMESTAMP

舉例應用:

1、MySQL 腳本實作用例

--添加CreateTime 設定預設時間 CURRENT_TIMESTAMP 

ALTER TABLE `table_name`

ADD COLUMN  `CreateTime` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '建立時間' ;

--修改CreateTime 設定預設時間 CURRENT_TIMESTAMP 

MODIFY COLUMN  `CreateTime` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '建立時間' ;

--添加UpdateTime 設定 預設時間 CURRENT_TIMESTAMP   設定更新時間為 ON UPDATE CURRENT_TIMESTAMP 

ADD COLUMN `UpdateTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '建立時間' ;

--修改 UpdateTime 設定 預設時間 CURRENT_TIMESTAMP   設定更新時間為 ON UPDATE CURRENT_TIMESTAMP 

MODIFY COLUMN `UpdateTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '建立時間' ;

2、MySQL工具設定

MySQL 日期時間 專題
MySQL 日期時間 專題

總結:

1、MySQL自動管理,保持和資料庫時間一緻性;

2、簡單高效,不需要應用程式開發支援,MySQL自動完成;

javascript:void(0)

MySQL 日期時間 專題
MySQL 日期時間 專題

繼續閱讀