L'extraction heures à partir 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 heures, avec HOUR(Date())
. J'obtiens l'erreur suivante.
'HOUR' is not a recognized built-in function name.
Comment puis-je extraire des heures?
Vous devez vous connecter pour publier un commentaire.
PARTIE
de la documentationHOUR
au lieu d'utiliser paresseux abréviation qui n'est pas toujours ce à quoi vous vous attendez à (essayery
). Hésitez pas à maintenir votre propre code mais vous l'aimez, mais pour l'enseignement, je suis opposé à la promotion paresseux abréviation qui mène à la confusion ou pour le pire. Voir #6 ici blogs.sqlsentry.com/aaronbertrand/... et sqlblog.com/blogs/aaron_bertrand/archive/2011/09/20/...... vous pouvez l'utiliser sur n'importe quel granularité type c'est à dire:
(note: j'aime les [ ] autour de la date de mot réservé bien. Bien sûr, c'est dans le cas où votre colonne timestamp est marqué "date")
Utilisation datepart.
E. g.:
essayer celui-là aussi:
œuvres
La DATEPART() la fonction est utilisée pour retourner une seule partie d'une date/heure, (année, mois, jour, heure, minute, etc.
Exemple
Il y a un moyen d'appeler
HOUR
(je recommande de ne pas l'utiliser car il estDATEPART
fonction) à l'aide de Les Fonctions Scalaires ODBC:LiveDemo
DATEPART(HOUR, [date])
renvoie l'heure en militaires heure ( 00 à 23 )Si vous voulez 1H, 3H, etc, vous devez cas ça:
to_char(current_timestamp,'YYYY') //pour extraire uniquement la DATE
to_char(current_timestamp,'HH24') //pour extraire uniquement les HEURES
vous devez utiliser datepart()