⑴ 如何實現在sql語句中加減小時
select DATEADD(HH, 1, GETDATE()) 寫上-1 就是減,當然你那日期需要正常日期,如果不是可以用convert來轉
⑵ sqlserver2008時間轉換問題,(拿上一個小時的數據)求解。
下面那個寫的意思取得是當前小時內的數據,上面減一的取得是上個小時的數據,首先你要確定表裡有沒有滿足減一時間條件的數據
⑶ 請教oracle中用sql時間相減的問題
這個問題。。。。
給你個詳細的回答吧 以後就不再擔憂這方面的任何問題
Oracle計算時間差表達式
--獲取兩時間的相差豪秒數
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 * 60 * 1000) 相差豪秒數 FROM DUAL;
/*
相差豪秒數
----------
86401000
1 row selected
*/
--獲取兩時間的相差秒數
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 * 60) 相差秒數 FROM DUAL;
/*
相差秒數
----------
86401
1 row selected
*/
--獲取兩時間的相差分鍾數
select ceil(((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss'))) * 24 * 60) 相差分鍾數 FROM DUAL;
/*
相差分鍾數
----------
1441
1 row selected
*/
--獲取兩時間的相差小時數
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24) 相差小時數 FROM DUAL;
/*
相差小時數
----------
25
1 row selected
*/
--獲取兩時間的相差天數
select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss'))) 相差天數 FROM DUAL;
/*
相差天數
----------
2
1 row selected
*/
----------------------------------------
註:天數可以2個日期直接減,這樣更加方便
----------------------------------------
--獲取兩時間月份差
select (EXTRACT(year FROM to_date('2009-05-01','yyyy-mm-dd')) - EXTRACT(year FROM to_date('2008-04-30','yyyy-mm-dd'))) * 12 +
EXTRACT(month FROM to_date('2008-05-01','yyyy-mm-dd')) - EXTRACT(month FROM to_date('2008-04-30','yyyy-mm-dd')) months
from al;
/*
MONTHS
----------
13
1 row selected
*/
--------------------------------------
註:可以使用months_between函數,更加方便
--------------------------------------
--獲取兩時間年份差
select EXTRACT(year FROM to_date('2009-05-01','yyyy-mm-dd')) - EXTRACT(year FROM to_date('2008-04-30','yyyy-mm-dd')) years from al;
/*
YEARS
----------
1
1 row selected
⑷ SQL 時間相減,精確到小時
可以通過datediff函數進行時間差:
sql :select datediff(hh,'2012-12-11 8:00:00','2012-12-11 09:31:47') from al ;
語法:
DATEDIFF ( datepart , startdate , enddate )
datepart 縮寫
year yy, yyyy
quarter qq, q
month mm, m
dayofyear dy, y
day dd, d
week wk, ww
hour hh
minute mi, n
second ss, s
millisecond ms
microsecond mcs
nanosecond ns
⑸ sql~日期格式如何相減
1、簡單介紹一下datediff()函數。
DATEDIFF()函數返回兩個日期之間的天數。
語法:
DATEDIFF(datepart,startdate,enddate)
startdate和enddate參數是合法的日期表達式。
datepart參數可以是下列的值:
⑹ SQL請教大家一個日期的加減法
ql語句處理時間——日期加減天數如下:
select date_add(now(), interval 1 day); -- 加1天
select date_add(now(), interval 1 hour); -- 加1小時
select date_add(now(), interval 1 minute); -- 加1分鍾
select date_add(now(), interval 1 second); -- 加1秒
select date_add(now(), interval 1 microsecond);-- 加1毫秒
select date_add(now(), interval 1 week);-- 加1周
select date_add(now(), interval 1 month);-- 加1月
select date_add(now(), interval 1 quarter);-- 加1季
select date_add(now(), interval 1 year);-- 加1年
(6)sql時間減一小時擴展閱讀
SQL中常用日期函數
1、GETDATE() 返回當前系統日期;
SELECT GETDATE()
2、DATEADD(日期部分,常數,日期) 返回將日期的指定日期部分加常數後的結果返回;
--常數為正
SELECT DATEADD(YY,1,GETDATE())
--等同於
SELECT DATEADD(YEAR,1,GETDATE())
--常數為負數
SELECT DATEADD(YY,-2,GETDATE())
--常數為小數(直接捨去小數部分)
SELECT DATEADD(YY,2.4,GETDATE())
SELECT DATEADD(YY,2.5,GETDATE())
SELECT DATEADD(YY,2.6,GETDATE())
⑺ SQL 時間加減
select * from table
where 卡號='123'
and datediff(mi,convert(datetime,日期 +' ' + 時間),'2010/06/20 08:05:00') between -5 and 5
後面的就是日期和時間和在一起的時間
雖然這樣可以實現,但是建議把2個欄位和在一起用datetime類型
⑻ 求教sql語句兩個日期、時間欄位相減得到天數小時分秒的問題
selectrequestid,userid,workflowid,receivedate,receivetime,operatedate,operatetime,
cast(dayasvarchar)+'天'+cast((hour-day*24)asvarchar)+'小時'+
cast((minute-hour*60)asvarchar)+'分'+
cast((second-minute*60)asvarchar)+'秒'result
from(
selectrequestid,userid,workflowid,receivedate,receivetime,operatedate,operatetime,
datediff(d,CONVERT(datetime,receivedate+''+receivetime,20),
CONVERT(datetime,operatedate+''+operatetime,20))day,
datediff(hh,CONVERT(datetime,receivedate+''+receivetime,20),
CONVERT(datetime,operatedate+''+operatetime,20))hour,
datediff(n,CONVERT(datetime,receivedate+''+receivetime,20),
CONVERT(datetime,operatedate+''+operatetime,20))minute,
datediff(s,CONVERT(datetime,receivedate+''+receivetime,20),
CONVERT(datetime,operatedate+''+operatetime,20))second
fromworkflow_currentoperator
whereworkflowid=297andrequestid=110215
)t
orderbyreceivedate,receivetime
⑼ SQL 當天日期減去一天 應該如何寫
SQL語句使用DATEADD得到一個時間加上或減去指定天數之後的時間。也適用於小時、分鍾、秒鍾等等
DATEADD() 函數功能:在日期中添加或減去指定的時間間
語法:DATEADD(datepart,number,date)
date參數是合法的日期表達式。number是您希望添加的間隔數;對於未來的時間,此數是正數,對於過去的時間,此數是負數。
datepart參數可以是下列的值: