mysql加減時間-函數-時間加減
阿新 • • 發佈:2018-05-23
天數 true 得到 使用 stat strong sele arp 日期函數
select timediff(‘23:40:00‘, ‘ 18:30:00‘); -- 兩時間相減
SELECT substring( timediff(‘23:40:00‘, ‘ 18:30:00‘),1,5) ----“05:10”相減返回小時:分鐘
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
- <pre name="code" class="sql">SELECT TIMESTAMPDIFF(MINUTE,NOW(),flowExpireDate)AS minsRemaining FROM FlowDealOrders WHERE SN=‘172150210001156‘ AND orderStatus=‘使用中‘ AND sysStatus=1
- mysql中可使用TIMESTAMPDIFF函數
- 格式為 TIMESTAMPDIFF(顯示時間格式,開始時間,結束時間)
- 第一個屬性還可以是:小時、分鐘、秒等等
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加減時間-函數-時間加減