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

Langage SQL Discussion :

Fonction CONCAT


Sujet :

Langage SQL

  1. #1
    Vow
    Vow est déconnecté
    Membre expérimenté Avatar de Vow
    Inscrit en
    Janvier 2003
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 259
    Points : 1 584
    Points
    1 584
    Par défaut Fonction CONCAT
    Bonjour
    J'aimerais savoir si cette fonction existe sur Oracle et MySQL aussi bien que SQL Server. Sinon quelle est la fonction correspondante, ou existe-t-il une fonction commune aux 3 bases permettant la concaténation ?
    Et également savoir pourquoi on est obligé de mettre "{fn CONCAT (X,Y)}" et non "CONCAT(X,Y)" seulement sur SQL Server.

    L'utilisation serait "SELECT CONCAT('*', monChamp) FROM ..."

    Merci d'avance.
    Il vaut mieux prêter à sourire que donner à réfléchir.

    Je ne réponds pas aux problèmes techniques par MP (il y a les FAQs et le forum pour ça)
    (ex-Responsable Windows/Info Gen&Hardware, loup-garou à ses heures)

    Cliquez sur le bouton si votre problème a trouvé une solution.
    N'oubliez pas non plus de donner la réponse si vous l'avez trouvée !

    Je mords donc je suis
    Une fine lame pour te soutenir

  2. #2
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 224
    Points : 19 563
    Points
    19 563
    Billets dans le blog
    25
    Par défaut
    http://sqlpro.developpez.com/SQL_AZ_...TIONS_DIVERSES

    Sous Oracle / DBS : ||
    Sous MS-SQL/Sybase : +
    Sous MS-Access : &
    etc...
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  3. #3
    Vow
    Vow est déconnecté
    Membre expérimenté Avatar de Vow
    Inscrit en
    Janvier 2003
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 259
    Points : 1 584
    Points
    1 584
    Par défaut
    Je savais pour le || mais je cherchais plutôt quelquechose qui fonctionnait un peu partout.
    Merci quand même.
    Il vaut mieux prêter à sourire que donner à réfléchir.

    Je ne réponds pas aux problèmes techniques par MP (il y a les FAQs et le forum pour ça)
    (ex-Responsable Windows/Info Gen&Hardware, loup-garou à ses heures)

    Cliquez sur le bouton si votre problème a trouvé une solution.
    N'oubliez pas non plus de donner la réponse si vous l'avez trouvée !

    Je mords donc je suis
    Une fine lame pour te soutenir

  4. #4
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 224
    Points : 19 563
    Points
    19 563
    Billets dans le blog
    25
    Par défaut
    Un peu partout, il n'y a presque rien si ce ne sont les ordres standards SQL1
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  5. #5
    Vow
    Vow est déconnecté
    Membre expérimenté Avatar de Vow
    Inscrit en
    Janvier 2003
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 259
    Points : 1 584
    Points
    1 584
    Par défaut
    Et pourquoi on est obligé de mettre "{fn CONCAT (X,Y)}" et non "CONCAT(X,Y)" seulement sur SQL Server ?
    Il vaut mieux prêter à sourire que donner à réfléchir.

    Je ne réponds pas aux problèmes techniques par MP (il y a les FAQs et le forum pour ça)
    (ex-Responsable Windows/Info Gen&Hardware, loup-garou à ses heures)

    Cliquez sur le bouton si votre problème a trouvé une solution.
    N'oubliez pas non plus de donner la réponse si vous l'avez trouvée !

    Je mords donc je suis
    Une fine lame pour te soutenir

  6. #6
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    si la fonction n'existe pas rien ne vous empêche de la coder vous même

  7. #7
    Vow
    Vow est déconnecté
    Membre expérimenté Avatar de Vow
    Inscrit en
    Janvier 2003
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 259
    Points : 1 584
    Points
    1 584
    Par défaut
    Comment ça ?
    Il vaut mieux prêter à sourire que donner à réfléchir.

    Je ne réponds pas aux problèmes techniques par MP (il y a les FAQs et le forum pour ça)
    (ex-Responsable Windows/Info Gen&Hardware, loup-garou à ses heures)

    Cliquez sur le bouton si votre problème a trouvé une solution.
    N'oubliez pas non plus de donner la réponse si vous l'avez trouvée !

    Je mords donc je suis
    Une fine lame pour te soutenir

  8. #8
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 224
    Points : 19 563
    Points
    19 563
    Billets dans le blog
    25
    Par défaut
    exemple pour MS-SQL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    create function concat(@x varchar(255), @y varchar(255)) returns varchar(255)
    as
    begin
    declare @res varchar(255)
    set @res=@x+@y
    return @res
    end
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  9. #9
    Vow
    Vow est déconnecté
    Membre expérimenté Avatar de Vow
    Inscrit en
    Janvier 2003
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 259
    Points : 1 584
    Points
    1 584
    Par défaut
    Merci.
    @++
    Il vaut mieux prêter à sourire que donner à réfléchir.

    Je ne réponds pas aux problèmes techniques par MP (il y a les FAQs et le forum pour ça)
    (ex-Responsable Windows/Info Gen&Hardware, loup-garou à ses heures)

    Cliquez sur le bouton si votre problème a trouvé une solution.
    N'oubliez pas non plus de donner la réponse si vous l'avez trouvée !

    Je mords donc je suis
    Une fine lame pour te soutenir

  10. #10
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    Citation Envoyé par fadace
    exemple pour MS-SQL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    create function concat(@x varchar(255), @y varchar(255)) returns varchar(255)
    as
    begin
    declare @res varchar(255)
    set @res=@x+@y
    return @res
    end
    si tu retournes un varchar(255) tu risques fort d'avoir un probléme si les 2 paramétres font 255 caractères

  11. #11
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 224
    Points : 19 563
    Points
    19 563
    Billets dans le blog
    25
    Par défaut
    C'était un exemple... si notre amis travaille avec MS-SQL pré2000, les chaînes de caractères sont limitées à 255

    De plus, varchar(255) est la valeurs maximale: si la première chaîne est de 10 caractères et la 2e de 240, tout passra dans la chaîne résultante, mais bon ! pour être plus propre et puisque nous avons affaire à un perfectionniste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    create function concat(@x varchar(255), @y varchar(255))
    returns varchar(255) 
    as 
    begin 
    declare @res varchar(255) 
     
    if datalength(@x) + datalength(@y) > 255
       PRINT 'Danger : chaine résultante tronquée'
     
    set @res=@x+@y 
    return @res 
    end
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  12. #12
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    bien vu

  13. #13
    Nouveau membre du Club
    Profil pro
    DevOps ing.
    Inscrit en
    Février 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : DevOps ing.

    Informations forums :
    Inscription : Février 2005
    Messages : 21
    Points : 28
    Points
    28
    Par défaut
    Comment faire pour enlever la limitation de 255 caractères sous Sql server ?
    Peux t'on retourner un varchar(2000) ?

    Merci

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

Discussions similaires

  1. TADOQuery et requete avec fonction CONCAT et/ou LEFT
    Par dnode57 dans le forum Bases de données
    Réponses: 3
    Dernier message: 29/07/2009, 15h55
  2. souci de manipulation des fonctions concat et locate
    Par coachbob44 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 26/03/2009, 12h06
  3. création d'une fonction concat
    Par MarcS dans le forum Requêtes
    Réponses: 3
    Dernier message: 18/03/2009, 15h28
  4. Fonction concat avec une expression
    Par chris81 dans le forum Linq
    Réponses: 2
    Dernier message: 06/01/2009, 17h09
  5. BO Fonction Concat()
    Par LP-mpascolo dans le forum Deski
    Réponses: 3
    Dernier message: 12/10/2007, 11h28

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