[HP-UX] Conversion date sql/bourn shell

Résolu
kewee -  
 kewee -
Bonjour, je suis débutant sous Unix et j'ai un problème au niveau de l'affichage d'une date.

Je travaille avec Oracle et j'ai une colonne d'une table qui contient un ensemble de dates.
Je récupère avec sqlplus sous Unix la totalité des dates et j'aimerais entrer dans un shell, avec une boucle for l'ensemble des dates en paramètre.

Voila ce que je fais :

#!/bin/sh
#set -x
F=$(sqlplus -s ${ORA_USER}/${ORA_PWD}@${BASE} << EOF
WHENEVER OSERROR EXIT 61 ROLLBACK
WHENEVER SQLERROR EXIT 62 ROLLBACK
set newpage 0 space 0 linesize 150 pagesize 0 echo off feedback off heading off termout off 
SELECT matable.JOUR FROM matable;
EOF)
echo $F
exit 0


Sous oracle, le champ JOUR est un champ DATE "30/11/2008"
et sous Oracle ca affiche "2008-11-30 00:00:00"

Comment modifier cela pour avoir sous unix le meme affichage de date qu'en sql ?
Merci de votre aide.
Configuration: Windows XP
Firefox 2.0.0.18

6 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    date '+%d/%m/%Y'
    date '+%Y-%m-%d %T'
    0
  2. kewee
     
    Merci d'avoir répondu.

    Ce que tu me propose là, n'afficherait il pas seulement la date du jour dans le format désiré ?

    Car je récupère avec ma requête SQL des dates diverses.
    0
  3. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    je n'ai pas totalement saisi la question. transformer des dates SQL ou une date courante en format SQL ?
    0
    1. kewee
       
      Dans ma table j'ai des dates, (la colonne s'appelle JOUR et est au format DATE)
      type de date affichée :
      30/11/2008
      01/12/2008
      etc...

      Sous UNIX, j'effectue la requêtes SELECT JOUR FROM matable avec sqlplus,
      et au lieu de m'afficher la date 30/11/2008
      il me la transforme en : 2008-11-30 00:00:00

      De plus, je ne dois pas transformer UNE date mais une liste au nombre variable de date.

      Tu vois mieux ce que je veux dire?
      0
  4. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    donc c'est l'affichage de sqlplus qui transforme la date, pas le shell HP-UX ?
    0
    1. kewee
       
      Peut etre en effet ...
      T'as une idée pour résoudre le problème ?
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    essayer
    set NLS_DATE_FORMAT = 'dd/mm/yyyy'
    0
    1. kewee
       
      J'ai le droit à un:

      SP2-0735: unknown SET option beginning "NLS_DATE_F..." 2008-12-01 00:00:00

      en faisant:

      H=$(sqlplus -s ${ORA_USER}/${ORA_PWD}@${BASE} << EOF
      	WHENEVER OSERROR EXIT 61 ROLLBACK
      	WHENEVER SQLERROR EXIT 62 ROLLBACK
      	set newpage 0 space 0 linesize 150 pagesize 0 echo off feedback off heading off termout off
      	set NLS_DATE_FORMAT = 'dd/mm/yyyy'
      	SELECT matable.JOUR FROM matable;
      	EXIT
      	EOF)
      	echo $H
      0
  7. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    et comme ça
    alter session set nls_date_format='dd/mm/yyyy';
    0
    1. kewee
       
      Bah ca m'a l'air pas mal tout ^^
      Merci beaucoup ca marche !
      0