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

MS SQL Server Discussion :

Eclairer tous les espaces d'un chaine de caracteres


Sujet :

MS SQL Server

  1. #1
    Membre extrêmement actif
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Points : 858
    Points
    858
    Par défaut Eclairer tous les espaces d'un chaine de caracteres
    Salut a tous et merci pour lire ma petite probleme!

    Je sais qu'en sql serveur on peux eliminer les espaces au gauche d'une chaine(fonction LTRIM) respectivement a droite a l'aide de la fonction RTRIM.

    J'essaie dans ce cas d'eliminer tous les espaces a droite et a gauche et je ne sais pas comment faire une fonction TRIM() en sql serveur qui elimine tous les espaces d'une chaine de caracteres.

    Voila le code essaye:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    DECLARE @string_to_trim varchar(60)
     
    SET @string_to_trim = '     Five spaces    .'
    TRIM
     
    CREATE FUNCTION dbo.TRIM(@string_to_trim VARCHAR(MAX))
    RETURNS VARCHAR(MAX)
    BEGIN
    RETURN LTRIM(RTRIM(@string_to_trim))
    END
    GO
    Je dois creer une table (CREATE TABLE) avec des divers chaines de caracteres?

    Donc ce que je veux obtenir c'est ca: (a l'aide d'une fonction create function).

    Comme vous voyez il elimine tous les espaces situes a droite et a gauche de ma chaine de caracteres ='Five spaces' en ce cas.

    J'utilise sql server 2005.

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    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 453
    Points : 18 386
    Points
    18 386
    Par défaut
    Je ne comprends pas votre problème, la fonction me paraît correcte, et le résultat conforme à vos attente.

    Bref, qu'est-ce qui ne va pas ?

  3. #3
    Membre extrêmement actif
    Avatar de mihaispr
    Inscrit en
    Décembre 2008
    Messages
    1 025
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 025
    Points : 858
    Points
    858
    Par défaut
    Salut Waldar et merci pour ta réponse!

    Je n'ai pas donne des détails c'est ma faute.

    Voila le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    DECLARE @string_to_trim varchar(60)
     
    SET @string_to_trim = '     Five spaces    .'
     
     
    CREATE FUNCTION dbo.TRIM(@string_to_trim VARCHAR(MAX))
    RETURNS VARCHAR(MAX)
    BEGIN
    RETURN LTRIM(RTRIM(@string_to_trim))
    END
    GO
    A cette ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CREATE FUNCTION dbo.TRIM(@string_to_trim VARCHAR(MAX))
    Erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Msg 111, Level 15, State 1, Line 6
    'CREATE FUNCTION' must be the first statement in a query batch.
    A cette ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    RETURN LTRIM(RTRIM(@string_to_trim))
    Erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Msg 178, Level 15, State 1, Line 9
    A RETURN statement with a return value cannot be used in this context.
    Observation: La table dbo.Trim n'est pas créée avec create table.

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    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 453
    Points : 18 386
    Points
    18 386
    Par défaut
    Faites juste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE FUNCTION dbo.TRIM(@string_to_trim VARCHAR(MAX))
    RETURNS VARCHAR(MAX)
    BEGIN
    RETURN LTRIM(RTRIM(@string_to_trim))
    END
    GO
    Et après utilisez là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT dbo.TRIM('     Five spaces    ')
     
    Five spaces

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 17/03/2010, 14h50
  2. Eliminer les espaces dans une chaine de caractere
    Par sialafrere dans le forum WinDev
    Réponses: 2
    Dernier message: 02/05/2008, 21h42
  3. Réponses: 9
    Dernier message: 06/11/2007, 12h36
  4. enlever tous les espaces d'une chaine
    Par franfr57 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/01/2007, 09h00
  5. Supprimer TOUS les espaces d'une chaine
    Par tavekapaclike1er dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 24/12/2005, 15h19

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