salut, j'ai un soucis avec un champs de type TIME dans une base,
D'après ce que j'ai lu le champs Time a la forme hh:mm:ss , je veux savoir comment omettre les secondes pour avoir seulement hh:mm
Version imprimable
salut, j'ai un soucis avec un champs de type TIME dans une base,
D'après ce que j'ai lu le champs Time a la forme hh:mm:ss , je veux savoir comment omettre les secondes pour avoir seulement hh:mm
Bonsoir,
Il faudrait préciser le nom du SGBD que vous utilisez. Si par exemple il s'agissait de DB2 for z/OS, on vous répondrait que vous pourriez récupérer l'heure à l'aide de la fonction HOUR et les minutes à l'aide de la fonction MINUTE. Sinon, le mieux serait que vous posiez votre question dans le forum correspondant à votre SGBD.
Salut,
le SGBD que j'utilise est H2
Bonsoir,
Je ne connais pas H2, mais manifestement avec ce SGBD vous disposez des fonctions HOUR et MINUTE.
Après avoir regardé la documentation de H2, j'ai vu qu'il proposait les fonctions CAST et SUBSTRING.
Si donc le champ de type TIME est par exemple nommé MonHeure, vous récupérez la partie "hh:mm" ainsi (solution propre) :
SUBSTRING(CAST(MonHeure AS CHAR(8)), 1, 5)
Ou peut-être plus simplement (solution moins propre) :
CAST(MonHeure AS CHAR(5))
Bonjour,
Si vous voulez "ommettre" les secondes pour faire des regroupements par exemple, vous pouvez "arrondir" à la minute comme ceci (pas testé sous H2, mais les fonctions existent... ))
Ainsi vous restez au format TIMECode:
1
2
3
4
5
6
7
8
9
10
11 SELECT DATEADD( 'MINUTE' ,DATEDIFF( 'MINUTE' , TIME '00:00:00' ,LaDate ) , TIME '00:00:00' )