1. 程式人生 > >mysql加減時間-函數-時間加減

mysql加減時間-函數-時間加減

天數 true 得到 使用 stat strong sele arp 日期函數

select timediff(23:40:00,  18:30:00); -- 兩時間相減
SELECT   substring( timediff(23:40:00,  18:30:00),1,5) ----“0510”相減返回小時:分鐘
select datediff(2008-08-08, 2008-08-01); -- 7      -----兩日期相減
select TO_DAYS(2008-09-08)-TO_DAYS(2008-08-08)     -----兩日期相減

SELECT   substring( 2009-06-17 10:00:00,   1,   10   )   ----從datetime中提取“日期”

(
********************* 時間戳是從1970年1月1日開始到目標時間所經過的秒數. 可以進行兩個datetime時間間隔的運算******************************)

mysql設置兩個日期格式相減的方式:

  

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

第一種:TIMESTAMPDIFF函數,需要傳入三個參數,第一個是比較的類型,可以比較FRAC_SECOND、SECOND、 MINUTE、 HOUR、 DAY、 WEEK、 MONTH、 QUARTER或 YEAR幾種類型,第二個和第三個參數是待比較的兩個時間,比較是後一個時間減前一個時間,具體用法如下:

SELECT TIMESTAMPDIFF(DAY,‘2012-10-01‘,‘2013-01-13‘);

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

SELECT TIMESTAMPDIFF(MONTH,2012-10-01,2013-01-13);

這裏比較的是兩個時間的月份,返回的結果是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

datediff()兩個日期相減函數

2

  1. <pre name="code" class="sql">SELECT TIMESTAMPDIFF(MINUTE,NOW(),flowExpireDate)AS minsRemaining FROM FlowDealOrders WHERE SN=‘172150210001156‘ AND orderStatus=‘使用中‘ AND sysStatus=1
  2. mysql中可使用TIMESTAMPDIFF函數
  3. 格式為 TIMESTAMPDIFF(顯示時間格式,開始時間,結束時間)
  4. 第一個屬性還可以是:小時、分鐘、秒等等

3、

、MySQL中兩個DateTime字段相減

假定表名為tblName,兩個DateTime字段名分別為beginDateTime,endDateTime,以下是相關兩個mysql日期字段相減的SQL語句,這種方式兩字段跨天,月,年都無問題。

得到兩個日期字段之間的秒數

selec t (UNIX_TIMESTAMP(endDateTime) - UNIX_TIMESTAMP(beginDateTime)) dif_second from tblName

得到兩個日期字段之間的分數

selec t (UNIX_TIMESTAMP(endDateTime) - UNIX_TIMESTAMP(beginDateTime))/60 dif_minute from tblName

得到兩個日期字段之間的天數

selec t (UNIX_TIMESTAMP(endDateTime) - UNIX_TIMESTAMP(beginDateTime))/(60*60*24) dif_minute from tblName

二、MySQL中兩個Time字段相減

如果兩個字段都為Time類型,如果兩個時間都在同一天,相減可以得到相差的秒數,但如果跨天,月,年都有問題。

selec t (TIME_TO_SEC(endDateTime) - TIME_TO_SEC(beginDateTime)) dif_second from tblName

mysql加減時間-函數-時間加減