Sql server - comment supprimer les retour-chariot d'un champ texte

Soyez le premier à donner votre avis sur cette source.

Snippet vu 55 649 fois - Téléchargée 27 fois

Contenu du snippet

Dans de nombreux cas, on se retrouve avec des champs texte contenant des retour-chariot que l'on voudrait supprimer afin de directement fournir le résultat nettoyé à l'application demandeuse.

Voila donc la méthode très simple.

Source / Exemple :


SELECT
 REPLACE(REPLACE(MonChampAvecCRLF, CHAR(13), ' '), CHAR(10), ' ') AS MonChampSansCRLF,
FROM 
 MaTable;

Conclusion :


Bon coding

Romelard Fabrice

A voir également

Ajouter un commentaire

Commentaires

Mindiell
Messages postés
559
Date d'inscription
jeudi 25 juillet 2002
Statut
Membre
Dernière intervention
5 septembre 2007
1 -
Intéressant, je considère cependant que c'est à l'application en amont, ou au SQL au moment ou tu enregistres l'information, que cela doit être fait. Cela permet d'avoir une base dont on est sur .
La tienne pourrait ne contenir aucun retour chariot si tu faisais ca en amont, plutot qu'en aval...

Bon courage !

PS: Ceci n'est pas une critique du code, je m'en excuse, c'est plus une philosophie de programmation.
cs_fabrice69
Messages postés
1766
Date d'inscription
jeudi 12 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013
4 -
Bonjour,
Je comprends tout à fait la remarque et j'aquiesce la dessus.
Le serveur SQL ne devrait pas avoir à transformer les données à ce moment la.
En revanche, les datas sont dans l'état qu'ils sont à l'orgine et les retour-chariots peuvent être utiles pour d'autres parties du développements, d'où la non modification des données en amont.
J'ai cherché à faire cette modification dans le code C#, mais me suis confronté à des problèmes avec cette recherche.
Ne voulant pas me prendre la tête et utilisant une Proc Stock spécifique, j'ai trouvé plus élégant de faire ce travail par SQL Server.

Romelard Fabrice
Mindiell
Messages postés
559
Date d'inscription
jeudi 25 juillet 2002
Statut
Membre
Dernière intervention
5 septembre 2007
1 -
Peut-on imaginer une colonne supplémentaire pré-nettoyée ?
Si les résultats sont intéressants avec ET sans CRLF, je pense que c'est alors à l'application de s'en occuper tout de même :o)
allopeck
Messages postés
23
Date d'inscription
lundi 16 janvier 2006
Statut
Membre
Dernière intervention
3 décembre 2007
-
Bonjour ,
Voila je débute dans le domaine de la programmation et j'ai un petit problème.
J'ai crée une base de donnée sous access en effectuant un transfert à partir d'un fichier texte. Seulement j'ai un petit carré ( retour chariot je pense ? ) qui se glisse de temps en temps ? J'ai essayé votre fonction, je suis allé dans requête j'ai mis mode SQL et j'ai tapé ceci :
SELECT
REPLACE(REPLACE(Date, CHAR(13), ' '), CHAR(10), ' ') AS DateCRLF,
FROM
Dataglobal;
et j'ai le message suivant :"The select statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect
allopeck
Messages postés
23
Date d'inscription
lundi 16 janvier 2006
Statut
Membre
Dernière intervention
3 décembre 2007
-
Voila donc est ce que quelqu'un pourrait m'aider ?
merci
peck

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.