Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 11/11/2006, à 00:34

crazykangourou

format de date avec Oracle 9i

Bonsoir,

J'ai une application php + oracle 9i.
Lorsque je fais une requete sous php sur une colonne de type date, j'ai 2 formats différents en fonction de la machine où j'ai installé l'application php qui attaque toujours la même base de données.

Sur une machine Red HAT j'ai un format de date du type yyyy-mm-dd, alors que sur une machine nouvellement installée ubuntu 6.10, le format de date est dd-NOV-06, hallucinant.

Comment modifier ce format sans toucher à la requete et faire to_char(ma_date,'DD/MM/YYYY'). Je ne peux pas me permettre ca car nous avons implémenté une fonction PHP qui converti yyyy-mm-dd en dd/mm/yyyy.

Merci d'avance

#2 Le 11/11/2006, à 01:02

nikko

Re : format de date avec Oracle 9i

crazykangourou a écrit :

Bonsoir,

J'ai une application php + oracle 9i.
Lorsque je fais une requete sous php sur une colonne de type date, j'ai 2 formats différents en fonction de la machine où j'ai installé l'application php qui attaque toujours la même base de données.

Sur une machine Red HAT j'ai un format de date du type yyyy-mm-dd, alors que sur une machine nouvellement installée ubuntu 6.10, le format de date est dd-NOV-06, hallucinant.

Comment modifier ce format sans toucher à la requete et faire to_char(ma_date,'DD/MM/YYYY'). Je ne peux pas me permettre ca car nous avons implémenté une fonction PHP qui converti yyyy-mm-dd en dd/mm/yyyy.

Merci d'avance

Ce n'est pas vraiment hallucinant. C'est la date même qui est stockée, ta fonction php manipule une chaine de caractères représentant une date. Ta requête te renvoie cette représentation, qui varie en fonction de l'environnement. A priori sur tes machines, les variables NLS_LANG et/ou NLS_DATE_FORMAT ne sont pas les mêmes.

En cherchant NLS_LANG php, je voie 2 possibilités :
positionner les variables pour le lancement d'apache.
Ou utiliser les fonctions oracles dans php : http://fr3.php.net/oci8

Je te laisse regarder de plus près. Je ne suis pas expert apache, et je ne connais pas php.
Par contre, au boulot, toutes nos requêtes formate les dates avec des to_char() pour s'affranchir de ce problème.

Nicolas

Hors ligne