2013-04-09 7 views
1

Je suis très nouveau à ce sujet. J'ai besoin dans une colonne séparée dans cette requête pour avoir la différence en jours entre t.1start et t1.finish.différence en jours entre deux dates

Merci, Louie

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' 

Comment puis-je maintenant que certaines villes pour arriver dans la requête?

+0

DATEDIFF (jour, startdate, enddate), http://stackoverflow.com/questions/1770594/ comment-calculer-différence-en-heures-décimal-entre-deux-dates-en-sql-server –

+1

Quel système de base de données? Serveur SQL? Oracle? De même, 'start' et' finish' ne contiennent-ils que des dates, ou pourraient-ils aussi contenir un composant de temps? Si ce dernier point, la différence devrait-elle en tenir compte ou les ignorer? –

Répondre

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' 

ont en outre un oeil à this

+0

Merci, je vais essayer cela. Louie –

+0

@LinaArmiento Fait.? –

+0

Comment puis-je obtenir seulement 2 villes à venir dans la requête? –

0

Vous pouvez utiliser la fonction DATEDIFF pour déterminer la intervall entre deux dates, vous pouvez utiliser la CAST/CONVERT pour transformer vos dates de chaîne en dates réelles en cas de besoin, comme:

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

La fonction CONVERT vous permet de choisir le format de la date.

+0

sql serveur et ils containg juste des dates à savoir. '2013/03/30' Comment utiliser datediff dans ma requête ci-dessus ?? –

+0

Voir Mises à jour la réponse – CloudyMarble

1

Dans SQL Server, vous pouvez utiliser

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

+1 pour DATEDIFF – CloudyMarble