Sélection de toutes datatables en utilisant un time supérieur à 16 heures

J'ai besoin de sélectionner datatables contenant le time> 4pm dans datatimestamp tous les jours dans SQL Server Management Studio Microsoft SQL Server 2005 – 9.00.4060.00 (X64) DB table qui a deux ans de données. Quelle est la meilleure façon de faire cela? Mon horodatage a le format suivant: DATETIME, '2005-10-13 16:00:00', 102 . J'ai des données à des moments randoms chaque après-midi. Je dois get datatables après 16 heures pour chaque jour. Pas seulement pour un jour.

Par exemple j'ai essayé pour un jour comme ceci:

 SELECT Yield, Date, ProductType, Direct FROM MIAC_CCYX WHERE (Date < CONVERT(DATETIME, '2005-10-13 16:00:00', 102)) Thanks for help 

Il est difficile de lire votre question, mais en supposant que vous utilisez réellement un type de données datetime , vous pouvez utiliser datepart pour searchr des dates dont l'heure est supérieure à 16 heures:

 WHERE datepart(hh, YourDate) > 16 

Puisque vous avez maintenant besoin de minutes, si vous voulez des loggings après 16h45, vous pouvez lancer votre date à une heure comme celle-ci:

SQL Server 2000/2005

 SELECT Yield, [Date], ProductType, Direct FROM MIAC_CCYX WHERE cast(convert(char(8), [Date], 108) as datetime) > cast('16:45' as datetime) 

Essentiellement, vous convert la date à l'aide des styles Date et Heure de conversion pour convertir la date en string de caractères, puis vous convertissez en date et heure pour la comparer à l'heure souhaitée.

SQL Server 2008+

 SELECT Yield, [Date], ProductType, Direct FROM MIAC_CCYX WHERE CAST([Date] as time) > CAST('16:45' as time) 

Cela fonctionnera quel que soit votre date. Cela ne va pas comparer les dates. Plutôt, Datepart () extraira l'élément hour de datetime et comapre avec votre time donné (par exemple 16h dans votre cas)

 SELECT * from <table> where DATEPART(hh, ModifiedDate) >= 16 

Je suppose ModifiedDate comme nom de colonne. cela va returnner datatables de 16 heures à 23:59:59 Edit: J'ai vérifié cela par rapport à MS SQL Server 2012. Aussi, il fonctionnera avec le format datetime.