Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

SQL SERVER - FONCTION QUI RENVOI LE SUFFIXE D'UNE CHAINE DE CHARACTÈRES


Information sur la source

Catégorie :Fonctions Classé sous : sqlserver, fonction, suffixe, chaîne, string Niveau : Débutant Date de création : 08/04/2005 Vu : 4 438

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note


Description

Dans de nombreux développements on souhaite pouvoir extraire le suffixe d'une chaine de charactères, pourquoi donc ne pas le faire par SQL Server ?

C'est le but de cette fonction.
 

Source

  • ALTER FUNCTION dbo.Fx_RenvoieSuffixe (@CHAINEDONNEE AS VARCHAR(500), @SEPARATEUR AS VARCHAR(50))
  • RETURNS VARCHAR(500)
  • BEGIN
  • -- Déclare les variables locales
  • DECLARE @Result VARCHAR(500)
  • DECLARE @IndexSeparateur INT
  • -- Assigne les chaines d'origine sans les blancs possibles
  • SET @Result = RTRIM(LTRIM(@CHAINEDONNEE))
  • SET @SEPARATEUR = RTRIM(LTRIM(@SEPARATEUR))
  • -- Recherche si le séparateur existe dans la chaine donnée
  • SET @IndexSeparateur = CHARINDEX (@SEPARATEUR, @Result)
  • IF @IndexSeparateur > 0
  • -- Si le séparateur existe je fourni tout ce qui est après cette chaine
  • SELECT @Result = SUBSTRING(@Result, CHARINDEX (@SEPARATEUR, @Result)+LEN(@SEPARATEUR), LEN(@Result)-CHARINDEX ('\', @Result))
  • ELSE
  • -- S'il n'existe pas je renvoi la chaine sans les blancs
  • SELECT @Result = @Result
  • -- Renvoi le résultat
  • RETURN @Result
  • END
ALTER FUNCTION  dbo.Fx_RenvoieSuffixe (@CHAINEDONNEE AS VARCHAR(500), @SEPARATEUR AS VARCHAR(50))
RETURNS VARCHAR(500)
BEGIN

-- Déclare les variables locales 
DECLARE @Result VARCHAR(500)
DECLARE @IndexSeparateur INT

-- Assigne les chaines d'origine sans les blancs possibles
SET @Result = RTRIM(LTRIM(@CHAINEDONNEE))
SET @SEPARATEUR = RTRIM(LTRIM(@SEPARATEUR))

-- Recherche si le séparateur existe dans la chaine donnée
SET @IndexSeparateur = CHARINDEX (@SEPARATEUR, @Result)


IF @IndexSeparateur > 0 
-- Si le séparateur existe je fourni tout ce qui est après cette chaine
	SELECT @Result = SUBSTRING(@Result, CHARINDEX (@SEPARATEUR, @Result)+LEN(@SEPARATEUR), LEN(@Result)-CHARINDEX ('\', @Result))
ELSE
-- S'il n'existe pas je renvoi la chaine sans les blancs
	SELECT @Result = @Result

-- Renvoi le résultat
RETURN @Result

END

Conclusion

Bon coding.

Romelard Fabrice (Alias F___)
 

Commentaires et avis

Aucun commentaire pour le moment.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

création d'une automatique d'une base de données SQLServer [ par MokhTelnet ] bonjourj'ai besoin de savoir comment on peut créer une base de données SQLServer lors de l'installation d'une application.mon client ne veux se charge Commande DOS pour SQLServer 7 [ par MokhTelnet ] y a t'il une commande dos pour SQLSERVER 7 ?(comme la commande sqlplus pour oracle) création automatique d'une base de données SQLServer [ par MokhTelnet ] bonjour j'ai besoin de savoir comment on peut créer une base de données SQLServer lors de l'installation d'une application. mon client ne veux se char Problème SQLSERVER/php [ par LeJulius ] Je travaille actuellement sous SQL SERVER 2000 en lien avec du PHP 4.2.0 Mon problème est le suivant :Mes tables sql contiennent des caractères accent Fonction Difference (soundex) SQL server [ par oluha ] BonjourJ'ai besoin d'utiliser la fonction Difference (qui se base sur le soundex) mais je trouve qu'elle n'est pas assez précise du fait que le sounde convertir string en money [ par chris81 ] comment puis je faire pour convertir un string pour l'inserer dans mon champ de type moneymercihttp://www.correzeweb.comhttp://www.localetv.com Like dans une procédure stockée [ par veronique1 ] Bonjour à tous,j'utilise une requête dans une procédure stockée avec un like , la valeur provient d'un paramètre , et ma rqu& Binary 16 to String [ par vapo ] Bonjour, Je m'explique, j'aimerai dans une procédure stockée  (SQLServer 2000)  faire une copie de données  d'une table Erreur sur fonction IIF sous SQL server ? [ par mmaidev ] La fonction "UPDATE Tab_NumCycle SET Cycle = IIF(cycle>4999,1,cycle + 1) qui fonctionnait avec une base Acces ne fonctionne pas avec une base SQL; Transformation d'un binary16 eb String.... [ par vapo ] Bonjour, Je m'explique, j'aimerai dans une requête SQL (SQLServer 2000)  faire une copie de données  d'une table vers une autre,


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,58 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.