169 votes

Dans une instruction SELECT (MS SQL), comment découper une chaîne

Par exemple; SELECT TRIM (Noms) DU CLIENT

307voto

Ben Hoffstein Points 44398
SELECT LTRIM(RTRIM(Names)) AS Names FROM Customer

67voto

Kibbee Points 36474

Pour couper à droite, utilisez:

 SELECT RTRIM(Names) FROM Customer
 

Pour couper à gauche, utilisez:

 SELECT LTRIM(Names) FROM Customer
 

Pour couper des deux côtés, utilisez:

 SELECT LTRIM(RTRIM(Names)) FROM Customer
 

8voto

onedaywhen Points 24594

Je suppose qu'il s'agit d'un exercice ponctuel de nettoyage des données. Une fois cela fait, assurez-vous d’ajouter des contraintes de base de données pour éviter les mauvaises données, par exemple

 ALTER TABLE Customer ADD
   CONSTRAINT customer_names__whitespace
      CHECK (
             Names NOT LIKE ' %'
             AND Names NOT LIKE '% '
             AND Names NOT LIKE '%  %'
            );
 

Pensez également à ne pas autoriser d’autres caractères (tabulation, retour à la ligne, saut de ligne, etc.) susceptibles de poser problème.

C'est peut-être aussi le bon moment pour scinder ces noms en family_name , first_name , etc. :)

8voto

razon Points 36
SELECT LTRIM(RTRIM(Replace(Replace(Replace(name,'   ',' '),CHAR(13), ' '),char(10), ' ')))
from author

1voto

rahularyansharma Points 4156

dans sql server 2008 r2 avec ssis expression, nous avons la fonction trim .

SQL Server Integration Services (SSIS) est un composant de Microsoft SQL Server base de données du logiciel qui peut être utilisé pour effectuer un large éventail de tâches de migration de données.

vous trouverez la description complète sur ce lien

http://msdn.microsoft.com/en-us/library/ms139947.aspx

mais cette fonction ont une certaine limitation en elle-même, qui est également mentionné par msdn sur cette page. mais c'est dans sql server 2008 r2

TRIM("   New York   ") .The return result is "New York".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X