2013-04-09 98 views
1

我對此很新穎。 我需要在此查詢中的單獨列中,在t.1start和t1.finish之間的差異天數爲 。兩天之間的天差

感謝,路易

SELECT ROW_NUMBER() OVER(ORDER BY TOWN) AS 'row', 
T1.Surname, 
T1.Forename, 
T1.Town, 
T1.Description, 
T1.Sex, 
T1.DOB, 
T1.start, 
T1.finish, 
FROM dbo.viewServiceContractFull T1 
WHERE 
T1.finish>='2013/01/01' 
and 
T1.finish<='2013/01/31' 

如何我現在只得到某些城市來在查詢?

+0

DATEDIFF(日,開始日期,結束日期),http://stackoverflow.com/questions/1770594/如何計算差異小時 - 小數點之間的兩個日期在SQL服務器 – 2013-04-09 06:44:39

+1

什麼數據庫系統? SQL Server?甲骨文?另外,'start'和'finish'是否包含日期,或者它們是否也包含時間分量?如果後者,差異應該考慮到這些還是忽略它們? – 2013-04-09 06:44:44

回答

0
SELECT ROW_NUMBER() OVER(ORDER BY TOWN) AS 'row', 
T1.Surname, 
T1.Forename, 
T1.Town, 
T1.Description, 
T1.Sex, 
T1.DOB, 
T1.start, 
T1.finish, cast(DATEDIFF(DAY,T1.start,T1.finish) as varchar) as difference 
FROM dbo.viewServiceContractFull T1 
WHERE 
T1.finish>='2013/01/01' 
and 
T1.finish<='2013/01/31' 

另外看看this

+0

謝謝我會試試這個。 Louie – 2013-04-09 06:48:48

+0

@LinaArmiento完成。? – 2013-04-09 07:05:49

+0

現在我怎麼只得到2個城鎮來查詢? – 2013-04-22 01:46:50

0

可以使用DATEDIFF函數來確定兩個日期之間的INTERVALL,您可以使用CAST/CONVERT如果需要,您的字符串日期轉換爲實際日期,如:

CAST('2010-01-22 15:29:55.090' AS DATETIME) 

轉換功能,使您能夠選擇日期的格式。

+0

SQL服務器,它們只包含日期即。 '2013/03/30'如何在我的查詢中使用datediff? – 2013-04-09 06:46:44

+0

查看更新回答 – CloudyMarble 2013-04-09 06:51:03

1

在SQL Server,你可以使用

SELECT DATEDIFF (MyUnits, '2010-01-22 15:29:55.090', '2010-01-22 15:30:09.153') 
+0

+1對DATEDIFF – CloudyMarble 2013-04-09 08:08:14