Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Conversion TIMESTAMP --> heure (hh:mm)

7 réponses
Avatar
Gaëtan
Bonjour

Je souhaiterai convertir un type TIMESTAMP en format heure du type (hh :mm)

Si quelqu’un parmi vous possède une quelconque astuce de conversion

Merci

7 réponses

Avatar
Sylvain Lafontaine
Mauvaise nouvelle: vous ne pouvez pas faire ça. Malgré leur nom, les
Timestamp n'ont rien à voir avec l'heure ou une quelconque heure: il s'agit
seulement d'un numéro automatiquement croissant, un peu comme les valeurs
Identity mais s'appliquant à l'ensemble du serveur sql.

--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: sylvain aei ca (fill the blanks, no spam please)


"Gaëtan" wrote in message
news:
Bonjour

Je souhaiterai convertir un type TIMESTAMP en format heure du type (hh
:mm)

Si quelqu'un parmi vous possède une quelconque astuce de conversion

Merci



Avatar
Fred BROUARD
Vous voulez sans doute parler d'un DATETIME (combiné DATE + HEURE de SQL
Server) car le timestamp est un n° de version de ligne de table
(mécanisme interne) et n'a rien à voir avec le TIMESTAMP de la norme SQL !


A +
Gaëtan a écrit :
Bonjour

Je souhaiterai convertir un type TIMESTAMP en format heure du type (hh :mm)

Si quelqu’un parmi vous possède une quelconque astuce de conversion

Merci





--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************
Avatar
Gaëtan
Bonjour Sylvain

Pourtant à partir de la valeur de ce timestamp je parviens quasiment à
obtenir le résultat que je souhaite.

Je m'explique :
En manipulant la chaine de caractère obtenue et en appliquant des opérations
mathématiques j'arrive presque à obtenir l'heure.

Voici un exemple :
SELECT CAST(LEFT (b.debut /3600,2) AS varchar(2)) + ':' + CAST(RIGHT(LEFT
(b.debut /3600,4),2)*60/100 AS varchar(2))

Grâce à cette astuce j'arrive à récupérer l'heure de type 15:15 par exemple.
Mais mon soucis persiste lorsqu'il s'agit d'une heure « pile » exemple
10:00, avec mon traitement j'obtiens 10:0
(:s) il me manque un 0

Si vous avez une idée ? Un conseil je suis preneur.

Merci pour vos réponses précédentes.




"Sylvain Lafontaine" a écrit :

Mauvaise nouvelle: vous ne pouvez pas faire ça. Malgré leur nom, les
Timestamp n'ont rien à voir avec l'heure ou une quelconque heure: il s'agit
seulement d'un numéro automatiquement croissant, un peu comme les valeurs
Identity mais s'appliquant à l'ensemble du serveur sql.

--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: sylvain aei ca (fill the blanks, no spam please)


"Gaëtan" wrote in message
news:
> Bonjour
>
> Je souhaiterai convertir un type TIMESTAMP en format heure du type (hh
> :mm)
>
> Si quelqu'un parmi vous possède une quelconque astuce de conversion
>
> Merci
>





Avatar
Gaëtan
Bonjour Fred

Non non, il s’agit bien du type TIMESTAMP

Pourtant à partir de la valeur de ce timestamp je parviens quasiment à
obtenir le résultat que je souhaite.

Je m'explique :
En manipulant la chaine de caractère obtenue et en appliquant des opérations
mathématiques j'arrive presque à obtenir l'heure.

Voici un exemple :
SELECT CAST(LEFT (b.debut /3600,2) AS varchar(2)) + ':' + CAST(RIGHT(LEFT
(b.debut /3600,4),2)*60/100 AS varchar(2))

Grâce à cette astuce j'arrive à récupérer l'heure de type 15:15 par exemple.
Mais mon soucis persiste lorsqu'il s'agit d'une heure « pile » exemple
10:00, avec mon traitement j'obtiens 10:0
(:s) il me manque un 0

Si vous avez une idée ? Un conseil je suis preneur.

Merci pour vos réponses précédentes.


"Fred BROUARD" a écrit :

Vous voulez sans doute parler d'un DATETIME (combiné DATE + HEURE de SQL
Server) car le timestamp est un n° de version de ligne de table
(mécanisme interne) et n'a rien à voir avec le TIMESTAMP de la norme SQL !


A +
Gaëtan a écrit :
> Bonjour
>
> Je souhaiterai convertir un type TIMESTAMP en format heure du type (hh :mm)
>
> Si quelqu’un parmi vous possède une quelconque astuce de conversion
>
> Merci
>


--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************



Avatar
Fred BROUARD
Gaëtan a écrit :
Bonjour Fred

Non non, il s’agit bien du type TIMESTAMP

Pourtant à partir de la valeur de ce timestamp je parviens quasiment à
obtenir le résultat que je souhaite.

Je m'explique :
En manipulant la chaine de caractère obtenue et en appliquant des opérations
mathématiques j'arrive presque à obtenir l'heure.

Voici un exemple :
SELECT CAST(LEFT (b.debut /3600,2) AS varchar(2)) + ':' + CAST(RIGHT(LEFT
(b.debut /3600,4),2)*60/100 AS varchar(2))

Grâce à cette astuce j'arrive à récupérer l'heure de type 15:15 par exemple.
Mais mon soucis persiste lorsqu'il s'agit d'une heure « pile » exemple
10:00, avec mon traitement j'obtiens 10:0
(:s) il me manque un 0

Si vous avez une idée ? Un conseil je suis preneur.



ben non, cparce que c'est pas fait pour cela est c'est en plus obsolète.
MS le considère comme "deprecated", c'est à dire non supporté dans les
versions futures....

Si vous nous disiez quelle est votre intention au sujet de l'utilisation
de cette colonne ???

A +


Merci pour vos réponses précédentes.


"Fred BROUARD" a écrit :

Vous voulez sans doute parler d'un DATETIME (combiné DATE + HEURE de SQL
Server) car le timestamp est un n° de version de ligne de table
(mécanisme interne) et n'a rien à voir avec le TIMESTAMP de la norme SQL !


A +
Gaëtan a écrit :
Bonjour

Je souhaiterai convertir un type TIMESTAMP en format heure du type (hh :mm)

Si quelqu’un parmi vous possède une quelconque astuce de conversion

Merci




--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************







--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************
Avatar
Sylvain Lafontaine
Ben là, il faudrait voir ce que vous avez exactement entre les mains. Si
vous créez une date localement et que vous la stocker dans un Timestamp,
probablement que vous avez quelque chose comme ça puisque fondamentalement,
un timestamp est l'équivalent d'un binary(8).

Pour stocker les heures et les dates, vous devez utiliser un DateTime. Si
vous voulez avoir l'heure et la date de création, utilisez getDate() comme
valeur par défaut et si vous voulez mettre à jour l'heure et la date à
chaque modification, utilisez un trigger pour mettre à jour cette valeur
lors des updates (ou faites-le dans le code client ou dans une procédure
stockée).

Pour le reste, si vous persistez à vouloir utiliser un Timestamp comme champ
d'heure, je n'ai pas vraiment d'idée au sujet de la solution. Pour votre
problème de 0 manquant, utilisez un CASE ou concatener votre valeur avec un
'0' (afin d'avoir au minimum deux '0') avant de prendre les deux chiffres de
droites avec votre Right().

--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: sylvain aei ca (fill the blanks, no spam please)


"Gaëtan" wrote in message
news:
Bonjour Sylvain

Pourtant à partir de la valeur de ce timestamp je parviens quasiment à
obtenir le résultat que je souhaite.

Je m'explique :
En manipulant la chaine de caractère obtenue et en appliquant des
opérations
mathématiques j'arrive presque à obtenir l'heure.

Voici un exemple :
SELECT CAST(LEFT (b.debut /3600,2) AS varchar(2)) + ':' + CAST(RIGHT(LEFT
(b.debut /3600,4),2)*60/100 AS varchar(2))

Grâce à cette astuce j'arrive à récupérer l'heure de type 15:15 par
exemple.
Mais mon soucis persiste lorsqu'il s'agit d'une heure « pile » exemple
10:00, avec mon traitement j'obtiens 10:0
(:s) il me manque un 0

Si vous avez une idée ? Un conseil je suis preneur.

Merci pour vos réponses précédentes.




"Sylvain Lafontaine" a écrit :

Mauvaise nouvelle: vous ne pouvez pas faire ça. Malgré leur nom, les
Timestamp n'ont rien à voir avec l'heure ou une quelconque heure: il
s'agit
seulement d'un numéro automatiquement croissant, un peu comme les valeurs
Identity mais s'appliquant à l'ensemble du serveur sql.

--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: sylvain aei ca (fill the blanks, no spam please)


"Gaëtan" wrote in message
news:
> Bonjour
>
> Je souhaiterai convertir un type TIMESTAMP en format heure du type (hh
> :mm)
>
> Si quelqu'un parmi vous possède une quelconque astuce de conversion
>
> Merci
>







Avatar
Julien Bonnier
Ce n'est pas parce que tu arrives à obtenir quelque chose qui resemmble à
une heure que s'en est forcément une tien si je te donne un entier par
exemple.

1422

Je suis capable d'obtenir l'heure avec

SELECT STUFF(CAST(1422 AS varchar), 3, 0, ":")

Seulement si 1422 représente le nombre de pas que j'ai fait dans ma
journée... mon heure de 14:22 est là mais ne représente pas la bonne chose
tu vois ?

"Gaëtan" wrote in message
news:
Bonjour Fred

Non non, il s'agit bien du type TIMESTAMP

Pourtant à partir de la valeur de ce timestamp je parviens quasiment à
obtenir le résultat que je souhaite.

Je m'explique :
En manipulant la chaine de caractère obtenue et en appliquant des
opérations
mathématiques j'arrive presque à obtenir l'heure.

Voici un exemple :
SELECT CAST(LEFT (b.debut /3600,2) AS varchar(2)) + ':' + CAST(RIGHT(LEFT
(b.debut /3600,4),2)*60/100 AS varchar(2))

Grâce à cette astuce j'arrive à récupérer l'heure de type 15:15 par
exemple.
Mais mon soucis persiste lorsqu'il s'agit d'une heure « pile » exemple
10:00, avec mon traitement j'obtiens 10:0
(:s) il me manque un 0

Si vous avez une idée ? Un conseil je suis preneur.

Merci pour vos réponses précédentes.


"Fred BROUARD" a écrit :

Vous voulez sans doute parler d'un DATETIME (combiné DATE + HEURE de SQL
Server) car le timestamp est un n° de version de ligne de table
(mécanisme interne) et n'a rien à voir avec le TIMESTAMP de la norme SQL
!


A +
Gaëtan a écrit :
> Bonjour
>
> Je souhaiterai convertir un type TIMESTAMP en format heure du type (hh
> :mm)
>
> Si quelqu'un parmi vous possède une quelconque astuce de conversion
>
> Merci
>


--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************