[HP-UX] Conversion date sql/bourn shell

Résolu/Fermé
kewee - 8 déc. 2008 à 10:20
 kewee - 8 déc. 2008 à 15:19
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.
A voir également:

6 réponses

dubcek Messages postés 18753 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 7 novembre 2024 5 619
8 déc. 2008 à 12:15
hello
date '+%d/%m/%Y'
date '+%Y-%m-%d %T'
0
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
dubcek Messages postés 18753 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 7 novembre 2024 5 619
8 déc. 2008 à 14:40
je n'ai pas totalement saisi la question. transformer des dates SQL ou une date courante en format SQL ?
0
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
dubcek Messages postés 18753 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 7 novembre 2024 5 619
8 déc. 2008 à 14:53
donc c'est l'affichage de sqlplus qui transforme la date, pas le shell HP-UX ?
0
Peut etre en effet ...
T'as une idée pour résoudre le problème ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dubcek Messages postés 18753 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 7 novembre 2024 5 619
8 déc. 2008 à 14:57
essayer
set NLS_DATE_FORMAT = 'dd/mm/yyyy'
0
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
dubcek Messages postés 18753 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 7 novembre 2024 5 619
8 déc. 2008 à 15:12
et comme ça
alter session set nls_date_format='dd/mm/yyyy';
0
Bah ca m'a l'air pas mal tout ^^
Merci beaucoup ca marche !
0