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 Oracle Discussion :

Sql*Loader - Clause When - condition sur une partie d'un champ


Sujet :

SQL Oracle

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 344
    Points : 188
    Points
    188
    Par défaut Sql*Loader - Clause When - condition sur une partie d'un champ
    Bonjour

    Je souhaiterais filtrer mes chargements et ne pas charger lorsqu'un champ donné commence par une certaine chaîne de caractères.

    Etant donné que seuls les comparateurs = et <> sont autorisés je ne peux évidemment pas écrire "not like". Du coup j'essaie substr()<> mais il me le refuse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SQL*Loader-350: Syntax error at line 6.
    Expecting = or "<>", found "(".
      WHEN (1) != '#' AND SUBSTR(url,1,19) <> '/dav_portal/portal/'
    Il y a t-il une solution ?

    Merci
    Loko

    PS : désolé, j'ai pas mal cherché dans le forum mais le mot clef "when" est jugé trop court :-(

  2. #2
    Membre régulier Avatar de pseudobidon57
    Inscrit en
    Octobre 2006
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 133
    Points : 101
    Points
    101
    Par défaut
    hum.. qu'est ce que c'est "(1)" ?? c'est le nom d'une entete de colonne?? si ce n'est pas le cas, ton erreur vient probablement de la..
    Desole pour l'orthographe, mais il n'y a pas d'accent sur les claviers anglais..sniff...

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 344
    Points : 188
    Points
    188
    Par défaut
    non, c'est le 1er caractere de la ligne, pour ne pas charger les commentaires.

    Ca marche tres bien si je mets juste la 1ere condition sur ce (1) justement, et ca ne marche pas non plus si je ne garde que la 2eme condition que j'essaie de mettre en place.

  4. #4
    Membre régulier Avatar de pseudobidon57
    Inscrit en
    Octobre 2006
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 133
    Points : 101
    Points
    101
    Par défaut
    pourtant, ton erreur semble veinr de la..:
    Expecting = or "<>", found "(".
    je trouve cela tres bizarre.. normalement apres un when, on a un nom de colonne.. enfin sur tous les projet de migration que j'ai vu..
    Desole pour l'orthographe, mais il n'y a pas d'accent sur les claviers anglais..sniff...

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 344
    Points : 188
    Points
    188
    Par défaut
    euh.. crois moi, non, ca figure dans plein d'exemples fournis par Oracle, et meme si ca n'apparait pas dans mon copier/coller de l'erreur le curseur pour l'erreur est bien positionné sur la premirere parenthese apres le "substr".

    et j'ai essayé sans la 1ere condition, cela ne passe pas non plus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SQL*Loader-350: Syntax error at line 6.
    Expecting = or "<>", found "(".
      WHEN SUBSTR(url,1,19) <> '/dav_portal/portal/'
                 ^
    Quelqu'un sait il pourquoi cela ne fonctionne pas ?

    Merci

Discussions similaires

  1. SQL*LOADER Clause when comparaison date
    Par maryline999 dans le forum SQL*Loader
    Réponses: 1
    Dernier message: 07/03/2013, 10h07
  2. [XL-2003] Somme conditionnelle avec condition sur une partie de cellule + RechercheV
    Par Benoit Schwob dans le forum Excel
    Réponses: 13
    Dernier message: 28/04/2011, 23h26
  3. Requete avec condition sur une partie de l'affichage
    Par dinver78 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 06/07/2007, 09h19
  4. Select sur une partie d'un champs texte
    Par dl_jarod dans le forum Langage SQL
    Réponses: 3
    Dernier message: 16/11/2005, 15h25
  5. tri sur une partie d'un champ
    Par yoline dans le forum Access
    Réponses: 4
    Dernier message: 19/09/2005, 11h25

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