[OT] Les fonctions sur chaîne de caractères en Transact-SQL
1 réponse
Igor2004
Mesdames et Messieurs,
Je voudrais bien vous proposer gratuitement les fonctions en Transact-SQL
qui sont les suivantes
AT(): Renvoie la position numérique du début de la énième occurrence d'une
expression caractère à l'intérieur d'une autre expression caractère, en
comptant à partir du caractère le plus à gauche.
RAT(): Renvoie la position numérique de la dernière occurrence (extrême
droite) d'une chaîne de caractères au sein d'une autre chaîne de caractères.
OCCURS(): Renvoie le nombre d'occurrences d'une expression caractère à
l'intérieur d'une autre expression caractère (y compris les chevauchements
éventuels).
OCCURS2():Renvoie le nombre d'occurrences d'une expression caractère à
l'intérieur d'une autre expression caractère (en excluant les chevauchements
éventuels).
PADL(): Renvoie une chaîne de caractères à la longueur spécifiée à partir
d'une expression complétée à gauche par des espaces ou des caractères.
PADR(): Renvoie une chaîne de caractères à la longueur spécifiée à partir
d'une expression complétée à droite par des espaces ou des caractères.
PADC(): Renvoie une chaîne de caractères à la longueur spécifiée à partir
d'une expression complétée des deux côtés par des espaces ou des caractères.
CHRTRAN(): Remplace chaque caractère dans une expression caractère, qui
correspond à un caractère d'une deuxième expression caractère, par le
caractère correspondant d'une troisième expression caractère.
STRTRAN(): Recherche dans une expression caractère des occurrences d'une
deuxième expression caractère, puis remplace chaque occurrence par une
troisième expression caractère. À la différence d'une fonction intégrée
Replace, STRTRAN a trois paramètres supplémentaires.
STRFILTER(): Enlève tous les caractères d'une chaîne sauf ceux qui sont
spécifiés.
GETWORDCOUNT(): Renvoie le nombre de mots à l'intérieur d'une chaîne.
GETWORDNUM(): Renvoie un mot spécifié d'une chaîne.
PROPER(): Renvoie, à partir d'une expression caractère, une chaîne
orthographiée comme un nom propre, c'est-à-dire avec une majuscule initiale.
RCHARINDEX(): Est similaire à une fonction intégrée Charindex, mais la
fonction commence la recherche à partir de la droite.
ARABTOROMAN(): Renvoie un nombre romain équivalent à une expression
numérique spécifiée (de 1 à 3999).
ROMANTOARAB(): Renvoie une expression numérique équivalente à un nombre
romain spécifié (de I à MMMCMXCIX).
AT, PADL, PADR, CHRTRAN, PROPER sont semblables aux fonctions Oracle PL/SQL
INSTR, LPAD, RPAD, TRANSLATE, INITCAP
Plus de 4000 personnes ont déjà téléchargé ces fonctions. Qui sait,
peut-être seront-ils utiles pour vous ?
Pour plus d'information, veuillez visiter
http://www.universalthread.com/wconnect/wc.dll?LevelExtreme~2,54,33,27115
où http://nikiforov.developpez.com/ (en français)
Veuillez télécharger le fichier
http://www.universalthread.com/wconnect/wc.dll?LevelExtreme~2,2,27115
Veuillez agréer, Mesdames et Messieurs, l'expression de mes meilleurs
sentiments.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Philippe T [MS]
Bonjour,
Tu peux également ajouter cette fonction à ton référentiel. Elle permet de spliter une chaine de caractère en fonction d'un caractère délimitant et de renvoyer une table correspondant à ce split.
-- Insert all other occurence WHILE ( 1 = 1 ) BEGIN SET @Val_Next_1 = CHARINDEX(@sDelim, @sText) SET @Val_Next_2 = CHARINDEX(@sDelim, SUBSTRING(@sText, @Val_Next_1 + 1, 4000))
SET @sText = SUBSTRING(@sText, @Val_Next_1 + 1, 4000)
IF @Val_Next_2 <> 0 BEGIN SET @OccurenceNumber = @OccurenceNumber + 1
INSERT INTO @MySplitTable( MY_VALUE, MY_ORDER ) VALUES( SUBSTRING(@sText, 1, @Val_Next_2 - 1), @OccurenceNumber ) END ELSE BEGIN IF @sText <> '' BEGIN SET @OccurenceNumber = @OccurenceNumber + 1
INSERT INTO @MySplitTable( MY_VALUE, MY_ORDER ) VALUES( @sText, @OccurenceNumber ) END BREAK END END
RETURN END
---------------------------------------------------------------------- Philippe TROTIN - Microsoft Service France
"Igor2004" wrote in message news:
Mesdames et Messieurs,
Je voudrais bien vous proposer gratuitement les fonctions en Transact-SQL qui sont les suivantes
AT(): Renvoie la position numérique du début de la énième occurrence d'une expression caractère à l'intérieur d'une autre expression caractère, en comptant à partir du caractère le plus à gauche. RAT(): Renvoie la position numérique de la dernière occurrence (extrême droite) d'une chaîne de caractères au sein d'une autre chaîne de caractères. OCCURS(): Renvoie le nombre d'occurrences d'une expression caractère à l'intérieur d'une autre expression caractère (y compris les chevauchements éventuels). OCCURS2():Renvoie le nombre d'occurrences d'une expression caractère à l'intérieur d'une autre expression caractère (en excluant les chevauchements éventuels). PADL(): Renvoie une chaîne de caractères à la longueur spécifiée à partir d'une expression complétée à gauche par des espaces ou des caractères. PADR(): Renvoie une chaîne de caractères à la longueur spécifiée à partir d'une expression complétée à droite par des espaces ou des caractères. PADC(): Renvoie une chaîne de caractères à la longueur spécifiée à partir d'une expression complétée des deux côtés par des espaces ou des caractères. CHRTRAN(): Remplace chaque caractère dans une expression caractère, qui correspond à un caractère d'une deuxième expression caractère, par le caractère correspondant d'une troisième expression caractère. STRTRAN(): Recherche dans une expression caractère des occurrences d'une deuxième expression caractère, puis remplace chaque occurrence par une troisième expression caractère. À la différence d'une fonction intégrée Replace, STRTRAN a trois paramètres supplémentaires. STRFILTER(): Enlève tous les caractères d'une chaîne sauf ceux qui sont spécifiés. GETWORDCOUNT(): Renvoie le nombre de mots à l'intérieur d'une chaîne. GETWORDNUM(): Renvoie un mot spécifié d'une chaîne. PROPER(): Renvoie, à partir d'une expression caractère, une chaîne orthographiée comme un nom propre, c'est-à-dire avec une majuscule initiale. RCHARINDEX(): Est similaire à une fonction intégrée Charindex, mais la fonction commence la recherche à partir de la droite. ARABTOROMAN(): Renvoie un nombre romain équivalent à une expression numérique spécifiée (de 1 à 3999). ROMANTOARAB(): Renvoie une expression numérique équivalente à un nombre romain spécifié (de I à MMMCMXCIX).
AT, PADL, PADR, CHRTRAN, PROPER sont semblables aux fonctions Oracle PL/SQL INSTR, LPAD, RPAD, TRANSLATE, INITCAP
Plus de 4000 personnes ont déjà téléchargé ces fonctions. Qui sait, peut-être seront-ils utiles pour vous ?
Pour plus d'information, veuillez visiter http://www.universalthread.com/wconnect/wc.dll?LevelExtreme~2,54,33,27115 où http://nikiforov.developpez.com/ (en français)
Veuillez télécharger le fichier http://www.universalthread.com/wconnect/wc.dll?LevelExtreme~2,2,27115
Veuillez agréer, Mesdames et Messieurs, l'expression de mes meilleurs sentiments.
Bonjour,
Tu peux également ajouter cette fonction à ton référentiel. Elle permet de
spliter une chaine de caractère en fonction d'un caractère délimitant et de
renvoyer une table correspondant à ce split.
-- Insert all other occurence
WHILE ( 1 = 1 )
BEGIN
SET @Val_Next_1 = CHARINDEX(@sDelim, @sText)
SET @Val_Next_2 = CHARINDEX(@sDelim, SUBSTRING(@sText, @Val_Next_1 + 1,
4000))
SET @sText = SUBSTRING(@sText, @Val_Next_1 + 1, 4000)
IF @Val_Next_2 <> 0
BEGIN
SET @OccurenceNumber = @OccurenceNumber + 1
INSERT INTO @MySplitTable( MY_VALUE, MY_ORDER )
VALUES( SUBSTRING(@sText, 1, @Val_Next_2 - 1), @OccurenceNumber )
END
ELSE
BEGIN
IF @sText <> ''
BEGIN
SET @OccurenceNumber = @OccurenceNumber + 1
INSERT INTO @MySplitTable( MY_VALUE, MY_ORDER )
VALUES( @sText, @OccurenceNumber )
END
BREAK
END
END
RETURN
END
----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France
"Igor2004" <Igor2004@discussions.microsoft.com> wrote in message
news:0DB2216A-54BB-4C52-BE4A-9E36A31D7CAF@microsoft.com...
Mesdames et Messieurs,
Je voudrais bien vous proposer gratuitement les fonctions en Transact-SQL
qui sont les suivantes
AT(): Renvoie la position numérique du début de la énième occurrence d'une
expression caractère à l'intérieur d'une autre expression caractère, en
comptant à partir du caractère le plus à gauche.
RAT(): Renvoie la position numérique de la dernière occurrence (extrême
droite) d'une chaîne de caractères au sein d'une autre chaîne de
caractères.
OCCURS(): Renvoie le nombre d'occurrences d'une expression caractère à
l'intérieur d'une autre expression caractère (y compris les chevauchements
éventuels).
OCCURS2():Renvoie le nombre d'occurrences d'une expression caractère à
l'intérieur d'une autre expression caractère (en excluant les
chevauchements
éventuels).
PADL(): Renvoie une chaîne de caractères à la longueur spécifiée à partir
d'une expression complétée à gauche par des espaces ou des caractères.
PADR(): Renvoie une chaîne de caractères à la longueur spécifiée à partir
d'une expression complétée à droite par des espaces ou des caractères.
PADC(): Renvoie une chaîne de caractères à la longueur spécifiée à partir
d'une expression complétée des deux côtés par des espaces ou des
caractères.
CHRTRAN(): Remplace chaque caractère dans une expression caractère, qui
correspond à un caractère d'une deuxième expression caractère, par le
caractère correspondant d'une troisième expression caractère.
STRTRAN(): Recherche dans une expression caractère des occurrences d'une
deuxième expression caractère, puis remplace chaque occurrence par une
troisième expression caractère. À la différence d'une fonction intégrée
Replace, STRTRAN a trois paramètres supplémentaires.
STRFILTER(): Enlève tous les caractères d'une chaîne sauf ceux qui sont
spécifiés.
GETWORDCOUNT(): Renvoie le nombre de mots à l'intérieur d'une chaîne.
GETWORDNUM(): Renvoie un mot spécifié d'une chaîne.
PROPER(): Renvoie, à partir d'une expression caractère, une chaîne
orthographiée comme un nom propre, c'est-à-dire avec une majuscule
initiale.
RCHARINDEX(): Est similaire à une fonction intégrée Charindex, mais la
fonction commence la recherche à partir de la droite.
ARABTOROMAN(): Renvoie un nombre romain équivalent à une expression
numérique spécifiée (de 1 à 3999).
ROMANTOARAB(): Renvoie une expression numérique équivalente à un nombre
romain spécifié (de I à MMMCMXCIX).
AT, PADL, PADR, CHRTRAN, PROPER sont semblables aux fonctions Oracle
PL/SQL
INSTR, LPAD, RPAD, TRANSLATE, INITCAP
Plus de 4000 personnes ont déjà téléchargé ces fonctions. Qui sait,
peut-être seront-ils utiles pour vous ?
Pour plus d'information, veuillez visiter
http://www.universalthread.com/wconnect/wc.dll?LevelExtreme~2,54,33,27115
où http://nikiforov.developpez.com/ (en français)
Veuillez télécharger le fichier
http://www.universalthread.com/wconnect/wc.dll?LevelExtreme~2,2,27115
Veuillez agréer, Mesdames et Messieurs, l'expression de mes meilleurs
sentiments.
Tu peux également ajouter cette fonction à ton référentiel. Elle permet de spliter une chaine de caractère en fonction d'un caractère délimitant et de renvoyer une table correspondant à ce split.
-- Insert all other occurence WHILE ( 1 = 1 ) BEGIN SET @Val_Next_1 = CHARINDEX(@sDelim, @sText) SET @Val_Next_2 = CHARINDEX(@sDelim, SUBSTRING(@sText, @Val_Next_1 + 1, 4000))
SET @sText = SUBSTRING(@sText, @Val_Next_1 + 1, 4000)
IF @Val_Next_2 <> 0 BEGIN SET @OccurenceNumber = @OccurenceNumber + 1
INSERT INTO @MySplitTable( MY_VALUE, MY_ORDER ) VALUES( SUBSTRING(@sText, 1, @Val_Next_2 - 1), @OccurenceNumber ) END ELSE BEGIN IF @sText <> '' BEGIN SET @OccurenceNumber = @OccurenceNumber + 1
INSERT INTO @MySplitTable( MY_VALUE, MY_ORDER ) VALUES( @sText, @OccurenceNumber ) END BREAK END END
RETURN END
---------------------------------------------------------------------- Philippe TROTIN - Microsoft Service France
"Igor2004" wrote in message news:
Mesdames et Messieurs,
Je voudrais bien vous proposer gratuitement les fonctions en Transact-SQL qui sont les suivantes
AT(): Renvoie la position numérique du début de la énième occurrence d'une expression caractère à l'intérieur d'une autre expression caractère, en comptant à partir du caractère le plus à gauche. RAT(): Renvoie la position numérique de la dernière occurrence (extrême droite) d'une chaîne de caractères au sein d'une autre chaîne de caractères. OCCURS(): Renvoie le nombre d'occurrences d'une expression caractère à l'intérieur d'une autre expression caractère (y compris les chevauchements éventuels). OCCURS2():Renvoie le nombre d'occurrences d'une expression caractère à l'intérieur d'une autre expression caractère (en excluant les chevauchements éventuels). PADL(): Renvoie une chaîne de caractères à la longueur spécifiée à partir d'une expression complétée à gauche par des espaces ou des caractères. PADR(): Renvoie une chaîne de caractères à la longueur spécifiée à partir d'une expression complétée à droite par des espaces ou des caractères. PADC(): Renvoie une chaîne de caractères à la longueur spécifiée à partir d'une expression complétée des deux côtés par des espaces ou des caractères. CHRTRAN(): Remplace chaque caractère dans une expression caractère, qui correspond à un caractère d'une deuxième expression caractère, par le caractère correspondant d'une troisième expression caractère. STRTRAN(): Recherche dans une expression caractère des occurrences d'une deuxième expression caractère, puis remplace chaque occurrence par une troisième expression caractère. À la différence d'une fonction intégrée Replace, STRTRAN a trois paramètres supplémentaires. STRFILTER(): Enlève tous les caractères d'une chaîne sauf ceux qui sont spécifiés. GETWORDCOUNT(): Renvoie le nombre de mots à l'intérieur d'une chaîne. GETWORDNUM(): Renvoie un mot spécifié d'une chaîne. PROPER(): Renvoie, à partir d'une expression caractère, une chaîne orthographiée comme un nom propre, c'est-à-dire avec une majuscule initiale. RCHARINDEX(): Est similaire à une fonction intégrée Charindex, mais la fonction commence la recherche à partir de la droite. ARABTOROMAN(): Renvoie un nombre romain équivalent à une expression numérique spécifiée (de 1 à 3999). ROMANTOARAB(): Renvoie une expression numérique équivalente à un nombre romain spécifié (de I à MMMCMXCIX).
AT, PADL, PADR, CHRTRAN, PROPER sont semblables aux fonctions Oracle PL/SQL INSTR, LPAD, RPAD, TRANSLATE, INITCAP
Plus de 4000 personnes ont déjà téléchargé ces fonctions. Qui sait, peut-être seront-ils utiles pour vous ?
Pour plus d'information, veuillez visiter http://www.universalthread.com/wconnect/wc.dll?LevelExtreme~2,54,33,27115 où http://nikiforov.developpez.com/ (en français)
Veuillez télécharger le fichier http://www.universalthread.com/wconnect/wc.dll?LevelExtreme~2,2,27115
Veuillez agréer, Mesdames et Messieurs, l'expression de mes meilleurs sentiments.