A. 各位大哥:sql 語句中求兩個時間相加的函數,比如08:30 我現在要在些基礎上加上45分鍾,我應該要怎寫
如果是sql server可以用dateadd來實現
declare @t time
set @t = '08:30'
select DATEADD(minute,45,@t);
B. SQL語句 時間相加問題
時間類型不能簡單的相加
我寫了一個很復雜的語句,你試試吧
SELECT 用戶, CONVERT(varchar(8), CONVERT(DATETIME, CONVERT(VARCHAR,
SUM(SUBSTRING(CONVERT(varchar(8), 時間, 108), 1, 2)
* 3600 + SUBSTRING(CONVERT(varchar(8), 時間, 108), 4, 2)
* 60 + SUBSTRING(CONVERT(varchar(8), 時間, 108), 7, 2)) / 3600)
+ ':' + CONVERT(VARCHAR, SUM(SUBSTRING(CONVERT(varchar(8),
時間, 108), 1, 2)
* 3600 + SUBSTRING(CONVERT(varchar(8), 時間, 108), 4, 2)
* 60 + SUBSTRING(CONVERT(varchar(8), 時間, 108), 7, 2)) % 3600 / 60)
+ ':' + CONVERT(VARCHAR, SUM(SUBSTRING(CONVERT(varchar(8),
時間, 108), 1, 2)
* 3600 + SUBSTRING(CONVERT(varchar(8), 時間, 108), 4, 2)
* 60 + SUBSTRING(CONVERT(varchar(8), 時間, 108), 7, 2)) % 3600 % 60)), 108)
AS 總計
FROM 表
GROUP BY 用戶 order by 總計 desc
大致思路是將時間轉發為秒然後按用戶group by分組求sum,然後再將類型轉為時間
C. 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年
(3)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())
D. 請教SQL日期小時數相加的問題
(1)dateadd 方法,當前時間加一個數
select dateadd(hour,5,getdate()) 當前時間加5小時
select dateadd(day,5,getdate()) 當前時間加5天
select dateadd(month,-1,getdate()) 當前時間減1個月
select dateadd(year,1,getdate()) 當前時間加1年
(2)dateadd和datepart 方法,當前時間+B時間的小時數
datepart就是取datetime類型時間的時間部分,第一個參數就是你想取的部分,hour就是取小時
select dateadd(hour,datepart(hour,getdate()),getdate()) 當前時間+當前時間的小時數
E. SQL時分秒之間相互轉換
我們先來聲明一個時間單位是秒的變數,方面下面用
declare @a int = 2000 ----變數@a,2000秒
select convert( varchar(10), @a / 3600) + '時' + convert( varchar(10), @a % 3600 / 60) + '分' + convert( varhcar(10), @a % 3600 % 60) + '秒'
select convert( varchar(10), @a / 60) + '分' + convert( varchar(10), @a % 60) + '秒'
declare @b int = 2000 ----變數@b , 2000分
寫法一:select convert( varchar(10), @a / 60) + '時' + convert( varchar(10), @a % 60) + '分'
寫法二:select @a = (case when @a / 60 = 0 then '' else cast (@a / 60 as varchar) + 'h' end) + (case when @a % 60 = 0 then '' else cast (@a % 60 as varchar) + 'min' end) from table
F. sql語句 時間相加
CREATETABLEt_count_user(idINT,userIdVARCHAR(12),NAMEVARCHAR(20),starttimeDATETIME,endtimeDATETIME)
INSERTINTOt_count_userVALUES(1,'001','張三','2015-06-2516:05:59','2015-06-2516:09:59');
INSERTINTOt_count_userVALUES(2,'001','張三','2015-06-2111:05:59','2015-06-:12:59');
INSERTINTOt_count_userVALUES(3,'001','張三','2015-06-2413:05:59','2015-06-2415:09:59');
INSERTINTOt_count_userVALUES(4,'002','李四','2015-06-2516:05:59','2015-06-2516:09:59');
INSERTINTOt_count_userVALUES(5,'002','李四','2015-06-2111:05:59','2015-06-:12:59');
INSERTINTOt_count_userVALUES(6,'002','李四','2015-06-2413:05:59','2015-06-2415:09:59');
SELECTuserId,NAME,SUM(TIMESTAMPDIFF(MINUTE,starttime,endtime))
FROMt_count_user
GROUPBYuserId,NAME
G. sql語句怎麼來對日期進行相加減
相減是計算二個時間的差值,這個應該有函數,好像是 DateDiff ,具體用法比較簡單:DateDiff(計算的時間值,計算的開始時間,計算的結束時間) ,其中「計算的時間值 」包括秒(s)、分(n)、時(h)、日(d)、月(m)、年(yyyy)。
但二個日期或時間相加是什麼?好像沒有這樣的運算吧?也可能是我孤陋寡聞吧。
H. SQL 兩個時間欄位相加
如果類型為CHAR(5),結果仍為CHAR(5)
那麼這樣寫
select newtime=
substring(
convert(varchar,
convert(datetime,time1,120)+convert(datetime,time2,120)
,120)
,12,5)
I. sqlserver當前時間的數求和
您好,你的問題,我之前好像也遇到過,以下是我原來的解決思路和方法,希望能幫助到你,若有錯誤,還望見諒!把時分秒分段截出來匯總,然後秒=秒總數%60 分=(分總數+秒總數/60)%60 時=時總數+(分總數+秒總數/60)/60,匯總時分秒求出以後拼裝一下就好了非常感謝您的耐心觀看,如有幫助請採納,祝生活愉快!謝謝!