Bonjour,
Pour une utilisation de la fonction age() j'ai besoin de mettre ma date au format américain yyyy/mm/dd. Or mes dates sont au format français et je ne trouve pas de fonction pour faire la conversion.
Merci à tous
Version imprimable
Bonjour,
Pour une utilisation de la fonction age() j'ai besoin de mettre ma date au format américain yyyy/mm/dd. Or mes dates sont au format français et je ne trouve pas de fonction pour faire la conversion.
Merci à tous
hello!
je ne sais pas s'il y a une autre solution, mais essaye ceci :
Voire ceci si tu veux garder l'heure :Code:to_timestamp(ta date, 'DD/MM/YYYY')
++Code:to_timestamp(ta date, 'DD/MM/YYYY HH24:MI:SS')
Non ça ne marche pas...ça me donne 0009-12-01 00:00:00+00
Quelle est ta chaine d'entrée? (date qui doit être une chaine de caractère ;) => cast si necessaire).
Le format n'est pas bon à priori.
ma date est au format date
le format, pas le type ;)
est ce que ta date est de la forme '2006/01/15', '15/01/2006' ou '01/15/2006' voir '2006-01-15', etc ... ?
Oups elle est au format 03/11/2006 soit dd/mm/yyyy
et?Code:to_timestamp(ta date::text, 'DD/MM/YYYY')
avec le cast ?
et sinon que donne
?Code:select ta_date::text
déso, ce sera tout pour today ;) bonne soirée
++
quand je faisLa date est au format "2006-07-04 00:00:00" c'est l'ordre que je veux mais pas le format. Je veux obtenir "2006/07/04" uniquementCode:select to_timestamp(inscrit_date_naissance:: varchar, 'YYYY/MM/DD')
merci
hello,
Je ne comprend plus rien ...
Tu veux utiliser la fonction 'age'? 'age' prend un ou deux timestamp en paramètres. Pourquoi tu veux utiliser des types 'DATE' ?
Ensuite, un timestamp est un timestamp, '2006-07-04 00:00:00' n'est qu'une représentation (un timestamp est le nombre de sec depuis le 01/01/1970), l'ordre jj/mm/aaaa n'est qu'un choix d'affichage paramétrable sans rapport avec la valeur réellement stockée (enfin, si un peu quand même hein!!:lol: ).
Ta date vient d'ou? de la base? d'un fichier texte? si ca vient de la base, sous quel type est elle enregistrée ? DATE ? TIMESTAMP ?
Peux tu mettre un exemple, avec les types de données utilisés, de ta commande 'age' stp ?
++
Ma date vient de la base et est de type date
Je me suis aperçu que la fonction age fonctionne avec un fomat américain pas un format français. L'age renvoyé n'est pas cohérent
J'ai une fonction qui doit mettre à jour automatiquement la nuit l'age de mes membres. Cette fonction est la suivante :
Mais je me suis aperçu que l'age renvoyé n'est pas correct parce que le format de la date est français.Code:
1
2
3 UPDATE inscrit SET inscrit_age = inscrit_age + 1 WHERE age(inscrit_date_naissance::timestamp) = date_trunc('year' , age(inscrit_date_naissance::timestamp))
Voilà voilà où est le problème....
Quand je fais cette requête :
Ca me renvoit des ages incorrects.Code:SELECT age(inscrit_date_naissance) FROM inscrit
ok, alors, encore une petite question :
quel est le type de données de 'inscrit_date_naissance' , DATE ?
SI c'est bien un champ DATE, peux tu me donner qq exemples des champs 'inscrit_date_naissance' + résultat de "select extract('epoch' from inscrit_date_naissance)" pour ces mêmes valeurs.
Je me demande si ton problème vient pas d'une mauvaise conversion lors de l'insertion des données.
Je viens d'essayer dans tous les sens sur ma machine, et ca marche sans probleme, que ce soit en Fr ou EN.
je confirme ce que viens de dire spoutnik, un type date que ce soit en mdy ou dmy aura la meme incidence sur les fonctions et donc meme resultat, c'est surrement un probleme dans tes données.
inscrit_date_naissance est de type DATE
Quelques exemples : 25/09/1977, 05/05/1985, 04/07/1980
J'ai fait "ça select extract('epoch' from inscrit_date_naissance) from inscrit" et ja(i pour la pemière date 331 509 600
Voila le problème !Citation:
Envoyé par viny
donne le 4 juillet 1980. Tu as donc un problème dans l'insertion des données. Répare ce problème et ca devrait être bon.Code:select timestamp 'epoch' + interval '1 sec' * 331509600
Autant pour moi la valeur que je t'ai envoyé correspond bien au 04/07/1980 que j'ai en base.
Désolé donc le pb n'est pas résolu !:cry:
Alors tout le monde a capitulé ?:(
bah vi... là, ca devient compliqué de t'aider pouisque tout semble OK ;)
Ah si, iens, une petite chose encore que je voudrais vérifier, peux tu donner le CREATE TABLE + un jeu de valeurs stp? je testerais ca sur ma machine.