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 :

Signification de N dans une clause WHERE


Sujet :

SQL Oracle

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 51
    Points : 35
    Points
    35
    Par défaut Signification de N dans une clause WHERE
    Bonjour,

    Quelqu'un pourrait me dire à quoi correspond le N dans la requête suivante :

    SELECT *
    FROM etape_questionnaire
    WHERE etqu_qufo_formulaire = N'FORM-0001'
    La seule chose que je peux dire c'est qu'il inhibe l'index de la colonne etqu_qufo_formulaire et que j'ai un ACCESS FULL sur la table etape_questionnaire

    Merci pour vos réponses

  2. #2
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    "N" convertit la chaîne de caractères qui soit dans le jeu de caractère dit "national" de la base, celui utilisé par les types de données NCHAR, NVARCHAR2 et NCLOB qui est différent de celui pour CHAR, VARCHAR2 et CLOB.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 51
    Points : 35
    Points
    35
    Par défaut
    Merci pifor pour ta réponse.

    Mais pourquoi ce N inhibe l'index ?

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Février 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2006
    Messages : 139
    Points : 152
    Points
    152
    Par défaut
    bonjour,

    Oracle doit faire une conversion implicite pour la jointure(qqchose to_char(etqu_qufo_formulaire)). Du coup l'index n'est pas utilisé
    Tu peux verifier avec les trace ou dans sql_plan.

    Cdt

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

Discussions similaires

  1. Utiliser un alias de colonne dans une clause Where MS SQL
    Par sir dragorn dans le forum Langage SQL
    Réponses: 11
    Dernier message: 12/10/2011, 09h31
  2. [SQL2K][TSQL] Peut-on utiliser un alias dans une clause Where ?
    Par StormimOn dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 23/05/2006, 09h25
  3. Réponses: 1
    Dernier message: 03/02/2006, 12h35
  4. fonction booleenne dans une clause where ?
    Par user_h dans le forum Oracle
    Réponses: 1
    Dernier message: 20/10/2005, 15h05

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