Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > SQL*Loader
SQL*Loader Forum d'entraide sur Oracle SQL*Loader
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/01/2012, 10h43   #1
Candidat au titre de Membre du Club
 
Femme Nathalie
Ingénieur développement logiciels
Inscription : novembre 2009
Messages : 36
Détails du profil
Informations personnelles :
Nom : Femme Nathalie
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Distribution

Informations forums :
Inscription : novembre 2009
Messages : 36
Points : 13
Points : 13
Par défaut Formater un champ avec SQL*Loader

Bonjour,

Je reçois un fichier .csv dans lequel j'ai une info en chaine de caractère de ce style : ABC0004507.

Et j'aimerais pouvoir formater mon champ pour avoir les trois premiers caractères en VARCHAR2 et les 7 derniers en NUMBER (afin d'enlever les 0 devant).

En gros ça donnerais ça en SQL

Code :
SELECT 'ABC0004507' AS DONNEE_RECUE, SUBSTR('ABC0004507', 1, 3) || TO_NUMBER(SUBSTR('ABC0004507', 4, 7)) AS RESULTAT_VOULU FROM DUAL
Et je ne sais pas du tout comment procéder pour faire ce format.

Voici le début de mon SQL Loader :

Code :
1
2
3
4
5
6
7
8
LOAD DATA
INFILE 'fichier.csv'
BADFILE 'fichier.bad'
DISCARDFILE 'export.dsc'
APPEND INTO TABLE MA_TABLE
FIELDS TERMINATED BY ";" OPTIONALLY ENCLOSED BY '\"' TRAILING NULLCOLS
(DATE_INTEG Date "YYYYMMDD",
TYPNUM)
Ce serait le champ TYPNUM que j'aimerais formater.

Avez-vous une petite idée ?
kyra2778 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 11h17   #2
Candidat au titre de Membre du Club
 
Femme Nathalie
Ingénieur développement logiciels
Inscription : novembre 2009
Messages : 36
Détails du profil
Informations personnelles :
Nom : Femme Nathalie
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Distribution

Informations forums :
Inscription : novembre 2009
Messages : 36
Points : 13
Points : 13
C'est bon, j'ai réussi à trouver une solution :

Code :
1
2
3
4
5
6
7
8
LOAD DATA
INFILE 'fichier.csv'
BADFILE 'fichier.bad'
DISCARDFILE 'export.dsc'
APPEND INTO TABLE MA_TABLE
FIELDS TERMINATED BY ";" OPTIONALLY ENCLOSED BY '\"' TRAILING NULLCOLS
(DATE_INTEG Date "YYYYMMDD",
TYPNUM "SUBSTR(:TYPNUM, 1, 3) || TO_NUMBER(SUBSTR(:TYPNUM, 4, 7))")
kyra2778 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h01.


 
 
 
 
Partenaires

Hébergement Web