Accéder au contenu.
Menu Sympa

fr - Re: date_format pour Oracle

Objet : Pour les administrateurs de serveurs de listes utilisant le logiciel Sympa

Archives de la liste

Chronologique Discussions  
  • From: Fabien Marquois <adresse@cachée>
  • To: Beatrice Gatto Charton <adresse@cachée>
  • Cc: adresse@cachée
  • Subject: Re: date_format pour Oracle
  • Date: Wed, 09 Feb 2000 10:35:29 +0100

Beatrice Gatto Charton wrote:
>
> Bonjour,
>
> Est-ce que quelqu'un sait traduire date_format (fichier List.pm) pour Oracle
> sans que la conversion de date soit faite en Perl ?
> Dans les sources, on a la version MySQL et ProgreSQL :
> 'read' => {
> 'Pg' => 'date_part(\'epoch\',%s)',
> 'mysql' => 'UNIX_TIMESTAMP(%s)'
> },
> 'write' => {
> 'Pg' => '\'epoch\'::datetime + \'%d sec\'',
> 'mysql' => 'FROM_UNIXTIME(%d)'
> }
> J'ai bien cette solution qui fonctionne (ici juste le write), mais tout le
> boulot est fait par le script Perl et non la base de donnees :
> ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
> localtime($user{'date'});
> $year +=1900;
> $mon +=1;
> $date =
> "to_date('$sec/$min/$hour/$mday/$mon/$year','SS/MI/HH24/DD/MM/YYY
> Y')";
>
> Est-ce que quelqu'un a mieux ?
>
> Merci d'avance,
>
> Beatrice

Le support Oracle est prévu dans la version 2.5

En fait, on n'a rien trouvé pour convertir les dates comme avec les
commmandes "UNIX_TIMESTAMP".
la seul méthode qu'on a trouvé, c'est de faire tout ca à la main :


'read' => {
'Pg' => 'date_part(\'epoch\',%s)',
'mysql' => 'UNIX_TIMESTAMP(%s)',
'Oracle' => '((to_number(to_char(%s,\'J\')) -
to_number(to_char(to_date(\'01/01/1970\',\'dd/mm/yyyy\
'), \'J\'))) * 86400) +to_number(to_char(%s,\'SSSSS\'))'
},
'write' => {
'Pg' => '\'epoch\'::datetime + \'%d sec\'',
'mysql' => 'FROM_UNIXTIME(%d)',
'Oracle' => 'to_date(to_char(round(%s/86400) +
to_number(to_char(to_date(\'01/01/1970\',\'dd/mm/yyyy
\'), \'J\'))) || \':\' ||to_char(mod(%s,86400)), \'J:SSSSS\')'
}

c'est compliqué, mais ca fonctionne

Je pense que la version 2.5 de sympa va bientot sortir... on est en
phase de test.

A bientot
--
Fabien Marquois
Centre de Ressources Informatiques
17042 La Rochelle cedex 1
adresse@cachée
tel : 05 46 45 82 14
fax : 05 46 45 82 45
http://www.univ-lr.fr


  • date_format pour Oracle, Beatrice Gatto Charton, 09/02/2000
    • Re: date_format pour Oracle, Fabien Marquois, 09/02/2000

Archives gérées par MHonArc 2.6.19+.

Haut de le page