簡體   English   中英

如何從SQL中的日期時間字段減去分鍾

[英]How to subtract minutes from datetime field in SQL

試圖弄清楚如何從日期時間字段中減去分鍾。

select 
   '1' as PPCONO, b.new_SalesrepId as PPREP1, 
   MAX(a.ActualEnd - c.TimeZoneBias) as PPDATE, 
   count(b.new_SalesrepId) as PPCOUNT 
from 
   ActivityPointerBase as a
join 
   SystemUserExtensionBase as b on b.SystemUserId = a.OwnerId
join 
   UserSettingsBase as c on c.SystemUserId = b.SystemUserId
where 
   b.new_SalesrepId <> '99999999' 
   and a.ActivityTypeCode = '4201' 
   and b.new_SalesrepId is not NULL 
   and a.StateCode = '1' 
   and CONVERT(varchar(8), a.ActualEnd, 112) = '20140627'
group by 
   b.new_SalesrepId, CONVERT(varchar(8), a.ActualEnd, 112)
order by 
   b.new_SalesrepId ASC;

從上面的代碼中,部分MAX(a.ActualEnd - c.TimeZoneBias)其中a.ActualEnd是輸入的日期時間字段,而c.TimeZoneBias是我想減去的分鍾數。 每次運行它,它都會減去幾天而不是幾分鍾。 在這種情況下,c.TimeZoneBias的實際值為'300',因此它減去了300天而不是300分鍾。

我發現最簡單的方法是使用算術:

MAX(a.ActualEnd - c.TimeZoneBias / cast(24 * 60 as float)) as PPDATE

這會將TimeZoneBias轉換為一天的一部分。

使用DATEADD減去特定間隔的特定數目,如下所示:

DATEADD(minute,  (-1 * c.TimeZoneBias), a.ActualEnd )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM