IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL*Loader Oracle Discussion :

Formater un champ avec SQL*Loader


Sujet :

SQL*Loader Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Novembre 2009
    Messages : 38
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ?

  2. #2
    Membre averti
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Novembre 2009
    Messages : 38
    Par défaut
    C'est bon, j'ai réussi à trouver une solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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))")

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ORACLE 8.1.7] Message 2100 not found avec SQL LOADER
    Par ApprentiOracle dans le forum SQL*Loader
    Réponses: 3
    Dernier message: 09/08/2006, 20h03
  2. Problèm avec SQL*LOADER
    Par logicave dans le forum Oracle
    Réponses: 2
    Dernier message: 14/07/2006, 17h55
  3. [Oracle9iR2] chargement avec SQL*LOADER
    Par piotrek30 dans le forum SQL
    Réponses: 2
    Dernier message: 16/06/2006, 11h20
  4. Casse tête avec SQl*Loader
    Par bellout dans le forum SQL
    Réponses: 5
    Dernier message: 14/06/2006, 17h59
  5. Probléme de caratéres avec sql*loader
    Par delphyjp dans le forum Oracle
    Réponses: 4
    Dernier message: 08/03/2006, 10h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo