2016-08-09 18 views
-4

運行下面的查詢給出兩個不同區域之間的分鐘差異。SQL Server日期差異顯示三位數

DECLARE @Minute INT 
SELECT @Minute = DATEDIFF(MINUTE, GETUTCDATE(), GETDATE()) 
SELECT @Minute 

enter image description here

我想看到的只有2第一個數字。如何獲得?

+3

「因爲我們知道分鐘只有兩位數」。我們知道嗎?你爲什麼不能有300分鐘? – HoneyBadger

+0

@HoneyBadger我的意思是說1到60分鐘其唯一的2位數字? – JohnSE

+2

但你有330分鐘..可能是5 H和30分鐘? – scaisEdge

回答

0

這一個爲我工作。

DECLARE @Minute INT 
SELECT @Minute = DATEDIFF(MINUTE, GETUTCDATE(), GETDATE()) 
SELECT @Minute 

IF LEN(@Minute) >= 3 
SET @Minute = LEFT(@Minute, LEN(@Minute) - 1) 
SELECT @Minute 

給出了33,而不是330

+0

這個值告訴你什麼? – HoneyBadger

+0

什麼時區不在小時或半小時偏移?例如。尼泊爾? –

+0

33是如何正確的? –

1

你基本上得到從UTC(格林威治,英國),當地時間分鐘的時間差。

select GETUTCDATE(), GETDATE(), DATEDIFF(MINUTE, GETUTCDATE(), GETDATE()), 
     DATEDIFF(HOUR, GETUTCDATE(), GETDATE()) 

2016-08-09 12:07:00.240  2016-08-09 07:07:00.237  -300  -5 

我得到-300分鐘,這對中央夏令時是正確的-5小時。

它看起來像你在新德里,也許?還是斯里蘭卡? UTC+05:30