258 votes

Extraction des heures d'un DateTime (SQL Server 2005)

Je peux extraire le mois et le jour en utilisant Day(Date()) , Month(Date()) . Je ne peux pas extraire des heures, avec HOUR(Date()) . J'obtiens l'erreur suivante.

'HOUR' is not a recognized built-in function name.

Comment puis-je extraire des heures ?

480voto

Dave Markle Points 44637
SELECT DATEPART(HOUR, GETDATE());

DATEPART documentation

48voto

Milan Points 746

... vous pouvez l'utiliser sur n'importe quel type de granularité, c'est-à-dire.. :

DATEPART(YEAR, [date])

DATEPART(MONTH, [date]) 

DATEPART(DAY, [date])    

DATEPART(HOUR, [date]) 

DATEPART(MINUTE, [date])

(note : j'aime bien le [ ] autour du mot réservé date cependant. Bien sûr, c'est au cas où votre colonne avec timestamp est étiquetée "date")

22voto

Adrian Godong Points 5367

Utilisez datepart .

Par exemple :

datepart(hh, date)

10voto

Essayez aussi celui-ci :

   DATEPART(HOUR,GETDATE())

9voto

Hamid Nadi Points 46

La fonction DATEPART() est utilisée pour renvoyer une seule partie d'une date/heure, comme l'année, le mois, le jour, l'heure, la minute, etc.

datepart    ***Abbreviation

year        ***yy, yyyy 
quarter     ***qq, q 
month       ***mm, m 
dayofyear   ***dy, y 
day         ***dd, d 
week        ***wk, ww 
weekday     ***dw, w 
hour        ***hh 
minute      ***mi, n 
second      ***ss, s 
millisecond ***ms 
microsecond ***mcs 
nanosecond  ***ns 

Exemple

select * 
from table001
where datepart(hh,datetime) like 23

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X