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 :

Alias nom de champs


Sujet :

SQL Oracle

  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 310
    Par défaut Alias nom de champs
    Bonjour à tous,

    Je cherche à aliaser un nom de champs en lui donnant un nombre comme nom (0 dans le cas ci-dessous). Oracle ne l'accepte pas. Y aurait t'il une solution?

    Ma ligne est du type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     case when DUREE <60 then 0 else DUREE end as 0,

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 136
    Par défaut
    Pour déclarer un alias a-normal (qui ne respecte pas la norme du langage SQL), il suffit d'encadrer son nom avec des guillemets à chaque fois qu'on l'utilise.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    with    "1"
        as  (   select  1 as "0"
                from    dual
            )
        ,   "2"
        as  (   select  2 as "-1"
                from    dual
            )
    select  "1"."0" + "2"."-1"  as "=3"
    from    "1"
        cross join
            "2"
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre Expert
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Décembre 2019
    Messages : 1 176
    Par défaut
    Bonjour,

    Se référer à la doc pour les règles sur les identifiants:

    https://docs.oracle.com/cd/B28359_01...htm#SQLRF00223

    Un alias sans guillemets doit commencer par une lettre. Sinon vous pouvez toujours nommer l'alias zero.

  4. #4
    Membre Expert
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 2 005
    Par défaut
    J'apporte mon petit grain de "sable" même si je ne vais pas piquer : c'est toujours une bonne pratique de mettre, comme le fait ruru9, le mot as voir même AS devant l'alias.
    Pourquoi? cela rend la requête plus lisible et puis ça évite les pbs de virgule oubliée entre deux champs; dans ce cas, le champ 2 devient alias du champ 1 et mon résultat peut être incompréhensible.

    MAIS, et là je pique un peu, mettez TOUJOURS "" au niveau de vos alias, même pour des alias hyper simples :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT count(*) AS "Nombre", sysdate AS "DateHeure"
    from COMMANDES;
    est plus lisible que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT count(*) Nombre, sysdate DateHeure
    from COMMANDES;

  5. #5
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Citation Envoyé par Ikebukuro Voir le message
    MAIS, et là je pique un peu, mettez TOUJOURS "" au niveau de vos alias, même pour des alias hyper simples
    Non, car ça les rends sensibles à la casse et pour tous les appels ultérieurs il faudra remettre les doubles quotes et la même casse.
    Utile pour un export de fichier, complètement inutile pour 99.9% des requêtes qu'on tape.

  6. #6
    Membre Expert
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 2 005
    Par défaut
    Je préfère qu'ils soient sensibles à la casse et puis c'est plus lisible; mais bon, les goûts et les couleurs

  7. #7
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Ouais, bof bof pour la lisibilité. Je déteste les requêtes générées par les outils de BI, tout est rouge. toutes les tables sont préfixées du schéma, tout en double quote.

Discussions similaires

  1. Alias de nom de champ sur un SELECT * - est-ce possible ?
    Par mica94 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 04/11/2011, 14h02
  2. Remontée du nom de champs à la place de l'alias
    Par Mengué georges dans le forum JDBC
    Réponses: 6
    Dernier message: 03/09/2009, 15h00
  3. comment recuperer le nom des champs ?????
    Par e11137 dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 09/01/2004, 10h00
  4. Nom du champs auto-incrementé
    Par norroy dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/06/2003, 18h30
  5. Récupération des noms de champs d'une table
    Par Battomura dans le forum SQL
    Réponses: 2
    Dernier message: 24/03/2003, 10h00

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