web-dev-qa-db-fra.com

Obtenir les heures et les minutes (HH: MM) à compter de la date

Je veux avoir seulement hh:mm partir de la date.

Comment puis-je l'obtenir?

J'ai essayé ceci:

CONVERT(VARCHAR(8), getdate(), 108)
29
Rajbir Singh

Il suffit d'utiliser les 5 premiers caractères ...?

 SELECT CONVERT(VARCHAR(5),getdate(),108) 
58
gbn

Vous pouvez facilement utiliser la fonction Format () au lieu de tout le casting pour SQL 2012 et au-dessus seulement

SELECT FORMAT(GETDATE(),'hh:mm')

C’est de loin le meilleur moyen de procéder à la conversion requise.

23
Abdul Hannan Ijaz

Une autre méthode utilisant la fonction intégrée DATEPART:

SELECT cast(DATEPART(hour, GETDATE()) as varchar) + ':' + cast(DATEPART(minute, GETDATE()) as varchar)
10
Ali Issa

Le code suivant montre l’heure et les minutes actuelles dans la colonne "Heure: Minutes" pour nous.

SELECT  CONVERT(VARCHAR(5), GETDATE(), 108) + 
(CASE WHEN DATEPART(HOUR, GETDATE()) > 12 THEN ' PM'
    ELSE ' AM'
END) 'Hour:Minutes'

ou

SELECT  Format(GETDATE(), 'hh:mm') + 
(CASE WHEN DATEPART(HOUR, GETDATE()) > 12 THEN ' PM'
    ELSE ' AM'
END) 'Hour:Minutes'
0
Mohamad Shahrestani

Voici la syntaxe pour afficher les heures et les minutes d'un champ issu d'une instruction SELECT. Dans cet exemple, le champ SQL s'appelle "UpdatedOnAt" et correspond à DateTime. Testé avec MS SQL 2014.

SELECT Format(UpdatedOnAt ,'hh:mm') as UpdatedOnAt from MyTable

J'aime le format qui affiche le jour de la semaine sous forme d'abréviation de 3 lettres et qui comprend les secondes:

SELECT Format(UpdatedOnAt ,'ddd hh:mm:ss') as UpdatedOnAt from MyTable

Le suffixe "as UpdatedOnAt" est facultatif. Cela vous donne un en-tête de colonne égal au champ que vous avez sélectionné pour commencer.

0
Chloe Tempo