begin process at 2012 02 12 03:12:33
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fonctions

 > SQL SERVER 2005 - SUPPRIMER TOUS LES CHARACTERES VIDES A LA FIN DES CHAMPS TEXTE (VARCHAR OU NVARCHAR) D'UNE BASE

SQL SERVER 2005 - SUPPRIMER TOUS LES CHARACTERES VIDES A LA FIN DES CHAMPS TEXTE (VARCHAR OU NVARCHAR) D'UNE BASE


 Information sur la source

Note :
1 / 10 - par 1 personne
1,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Fonctions Classé sous :tronquer, espace, trim, rtrim Niveau :Expert Date de création :19/02/2007 Date de mise à jour :19/02/2007 15:18:13 Vu :7 384

Auteur : fabrice69

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note


 Description

Dans certains cas de chargement de données provenant de bases fonctionnant en taille fixe (fichier plat provenant de SAP, Export de bases DB2, fichier CSV en taille fixe, ...), les données de type VARCHAR ou NVARCHAR peuvent avoir des espaces.
Ceci peut prendre beaucoup de place pour de très gros volumes et poser des problèmes pour les champs de comparaison, ...

Ce script a pour but de vous permettre de tronquer ces espaces afin de ne laisser que les données dans les cases.
Il est fourni pour SQL Server 2005, sa correspondance en SQL Server 2000 demande une modification de la requête d'alimentation.
La version 2000 est disponible ici :
- http://www.sqlfr.com/code.aspx?ID=41544


Source

  • USE [MABASE]
  • GO
  • DECLARE @SQLCMD AS VARCHAR(MAX)
  • DECLARE CURSORLISTCHEMA CURSOR FOR SELECT
  • 'UPDATE ['+ TABLE_CATALOG +'].['+ TABLE_SCHEMA +'].['+ TABLE_NAME +'] SET ['+ COLUMN_NAME +']=RTRIM(['+ COLUMN_NAME +'])' AS SQL
  • FROM INFORMATION_SCHEMA.COLUMNS
  • WHERE (UPPER(DATA_TYPE) = 'VARCHAR'
  • OR UPPER(DATA_TYPE) = 'NVARCHAR')
  • OPEN CURSORLISTCHEMA
  • FETCH NEXT FROM CURSORLISTCHEMA INTO @SQLCMD
  • WHILE (@@fetch_status >= 0)
  • BEGIN
  • PRINT @SQLCMD
  • EXECUTE(@SQLCMD)
  • FETCH NEXT FROM CURSORLISTCHEMA INTO @SQLCMD
  • END
  • CLOSE CURSORLISTCHEMA
  • DEALLOCATE CURSORLISTCHEMA
USE [MABASE]
GO

DECLARE @SQLCMD		AS VARCHAR(MAX)	

DECLARE CURSORLISTCHEMA CURSOR FOR SELECT 
   'UPDATE ['+ TABLE_CATALOG +'].['+ TABLE_SCHEMA +'].['+ TABLE_NAME +'] SET ['+ COLUMN_NAME +']=RTRIM(['+ COLUMN_NAME +'])' AS SQL 
   FROM INFORMATION_SCHEMA.COLUMNS 
   WHERE (UPPER(DATA_TYPE) = 'VARCHAR'
   OR UPPER(DATA_TYPE) = 'NVARCHAR')

OPEN CURSORLISTCHEMA
FETCH NEXT FROM CURSORLISTCHEMA INTO @SQLCMD
WHILE (@@fetch_status >= 0) 
	BEGIN 
		PRINT @SQLCMD
		EXECUTE(@SQLCMD)
		FETCH NEXT FROM CURSORLISTCHEMA INTO @SQLCMD
	END
CLOSE CURSORLISTCHEMA
DEALLOCATE CURSORLISTCHEMA

 Conclusion

Bon coding

Romelard Fabrice [MVP]


 Historique

19 février 2007 15:18:15 :
Ajout du lien pour la version 2000 du script

 Sources du même auteur

SQL SERVER - OBTENIR LES VALEURS CORRESPONDANT A DES UNICODE
SQL SERVER 2000 - VIDER ET COMPACTER TOUTES LES BASES DE DON...
SQL SERVER 2005 : OBTENIR LA LISTE DES BASES DE CONTENU D'UN...
SQL SERVER - OBTENIR LA POSITION DU PREMIER CHIFFRE D'UNE CH...
SQL SERVER - UPDATE D'UNE TABLE EN BOUCLE PAR LOT

 Sources de la même categorie

Source avec Zip CONVERT NUMBER TO LETTERS par oumaya2007
Source avec Zip CALCUL UNE DIFFÉRENCE DE DATE EN FONCTION DE JOURS FÉRIÉS/TR... par Sieurcoug
Source avec Zip CONVERSION DE NOMBRE EN LETTRES (SQL) par wormlore
NO HTML BALISE [MYSQL] par abdoulax
MYSQL : FONCTION POUR GÉRER DES COMPTEURS ÉQUIVALENT AUX SÉQ... par maitredede

 Sources en rapport avec celle ci

SQL SERVER : VÉRIFICATION DE L'ESPACE LIBRE SUR LE SERVEUR par skweeky
SQL SERVER 2000 - SUPPRIMER LES ESPACES VIDES EN FIN DE CHAM... par fabrice69
SQL SERVER - PROCÉDURE STOCKÉE QUI TRONQUE LES JOURNAUX DE L... par gigiou

Commentaires et avis

Aucun commentaire pour le moment.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Probleme sous MS Reporting avec le substr [ par Boulet1 ] Bonjour je suis en stage et je travail sous Visual studion .Net 2003. Jé une requète qui ne fonctionne pas a cause du substr : ="SELECT "+"& Probleme sous MS Reporting avec le substr [ par Boulet1 ] Bonjour je suis en stage et je travail sous Visual studion .Net 2003. Jé une requète qui ne fonctionne pas a cause du substr : ="SELECT "+"& Problème requête UPDATE. [ par woot6768 ] Bonjour,J'ai un soucis avec une requête UPDATE, je vous fournis le code correspondant (codé en c#) :string lineCmd = "UPDAT Espace membre avec lien direct à une gallerie Slideshowpro [ par MrsSpooky ] Hello, J'aimerais créer une zone membre sur mon site. J'ai trouvé pas mal de codes sources d'exemple (je suis débutante[^^confus5]) mais j'ai besoin Problème de selection de 12 mois/semaine glissants [ par bu36 ] Bonjour à tous, J'ai un grand besoin d'aide pour deux requete access. Je souhaiterais obtenir 12 mois et semaines glissants sur le modèle suivant. espace membre sous joomla [ par Clamser ] Bonjour, Bon voilà, je dois créer un espace membre dans mon site joomla, où chaque membre doit accéder à ces propre données. le problème qui se pose,


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,749 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales