Bonjour,

J'ai un requête qui convertir un chiffre comme '113052' en date sous le format '2013-02-21'
J'aimerai que cette requête me transforme un chiffre du type '93923 ' en heure mais je ne sais pas comment m'y prendre.
Voici la requête :

If( ToInteger (NOM_DU_CHAMPS) = 0, {$U_DEFAULT_NUMBER}, aroundConCat(ToChar(AddToDate(ToDate(ConCat('01-01-', aroundSubStr(ToChar(ToInteger( NOM_DU_CHAMPS) + 1900000), 1, 4)), 'dd-mm-yyyy'), aroundToInteger(SubStr(ToChar(ToInteger(NOM_DU_CHAMPS) + 1900000), 5, 3))-1), 'YYYY-MM-DD')around))around

Si quelqu'un pourrait m'aider merci d'avance :)

9 réponses


Salut,

Ton nombre représente quoi ? Un timestamp ?

ZORA
Auteur

Salut Tleb :)

oui mon 'ombre represente un timestamp

Salut,

il ne suffit pas de remplacer 'YYYY-MM-DD' par 'HH:MM' ?

Je pense que je n'ai pas compris ce que tu veux faire.

ZORA
Auteur

Bonjour SLK,

je dois convertir un colonne 'Heure_MAJ' qui contient des chiffre (au format String) en heure .

Cependant je ne sais pas comment m'y prendre après avoir essayé plusieurs façons qui n'ont pas ponctionnées.

Ainsi je souhaite obtenir uniquement une heure, puisque j'ai une autre colonne 'DERNIERE_MAJ' qui me retourne la date.

Et le 93923 il est censé nous donner quelle heure ?
Si tu ne sais pas, nous non plus
Si c'est 9h39'23'' c'est facile

ZORA
Auteur

Le 93923 doit donner 9h39 et 23 secondes

Ca devrait donner un truc comme ça

SELECT CONCAT(CONCAT(SUBSTR(CONCAT(SUBSTR("0000000", 1, 6-LENGTH("93923")),"93923"),1,2),":"), SUBSTR(CONCAT(SUBSTR("0000000", 1, 6-LENGTH("93923")),"93923"),3,2))

l'idée c'est de partir sur une chaine de 6 caractères maxi en rajoutant des zéros devant 093923
ensuite on coupe les heures puis les minutes

biensûr il faut remplacer "93923" par le nom du champ

ZORA
Auteur

Ok merci pour cette solution Huggy ! je vais la tester et aviser ! :)

Quand je vois ce genre de code, je me dis que les regexps seraient une bonne solution à ce problème.