Developpez.com - SGBD & SQL
X

Choisissez d'abord la catégorieensuite la rubrique :


Espace Web français d'Igor Nikiforov

Date de publication : 09/08/2005

Par Igor2004 (nikiforov.developpez.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.
GETALLWORDS():  Insère tous les mots d'une chaîne dans la table.
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  10 000 personnes ont déjà téléchargé ces fonctions. Qui sait, peut-être seront-ils utiles pour vous ?

Veuillez agréer, Mesdames et Messieurs, l'expression de mes meilleurs sentiments.




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
(y compris les chevauchements éventuels).
Syntaxe AT(@cExpressionQuoi, @cExpressionOù [, @nOccurrence])
Valeur renvoyée  smallint
AT est semblable à la fonction Oracle PL/SQL INSTR

Arguments
@cExpressionQuoi Spécifie l'expression caractère recherchée par AT() dans @cExpressionOù.
@cExpressionOù Spécifie l'expression caractère recherchée par @cExpressionQuoi.
@nOccurrence  Spécifie l'occurrence (première, deuxième, troisième, etc.) de @cExpressionQuoi recherchée
dans @cExpressionOù.
Par défaut, AT() recherche la première occurrence de @cExpressionQuoi (@nOccurrence = 1).
@nOccurrence vous permet de chercher d'autres occurrences de @cExpressionQuoi dans @cExpressionOù.
AT() renvoie la valeur 0 si la valeur de @nOccurrence est supérieure au nombre de fois
que @cExpressionQuoi apparaît dans @cExpressionOù.

Notes
AT() recherche la première occurrence de la première expression caractère dans 
la deuxième expression caractère. Elle renvoie ensuite un nombre entier indiquant la position
du premier caractère dans l'expression caractère trouvée. Si l'expression n'est pas trouvée,
AT() renvoie la valeur 0. La recherche effectuée par AT() respecte les majuscules et les minuscules.
Pour effectuer une recherche qui n'en tient pas compte, utilisez ATC().

Exemple d’utilisation de la fonction AT()
declare @gcString nvarchar(4000), @gcFindString nvarchar(4000)
select @gcString = N'FIGARO. Bazile ! ô mon mignon, si jamais volée de bois vert
appliquée sur une échine, a dûment redressé la moelle épinière à quelqu''un...',
@gcFindString = N'volée'
select dbo.AT(@gcFindString, @gcString, default) -- affiche 42
set @gcFindString = N'VOLÉE'
select dbo.AT(@gcFindString, @gcString, default) -- affiche 0, la recherche respecte la casse

Voir aussi  RAT(),  ATC() , AT2()

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 
(y compris les chevauchements éventuels).
Syntaxe RAT(@cExpressionQuoi, @cExpressionOù [, @nOccurrence])
Valeur renvoyée  smallint

Arguments
@cExpressionQuoi Spécifie l'expression caractère que la fonction RAT() recherche dans @cExpressionOù. 
@cExpressionOù Spécifie l'expression caractère dans laquelle la fonction RAT() effectue
sa recherche. @nOccurrence Spécifie l'occurrence de @cExpressionQuoi, allant de droite à gauche,
que la fonction RAT() recherche dans @cExpressionOù. Par défaut, la fonction RAT() recherche
la dernière occurrence de @cExpressionQuoi (@nOccurrence = 1). Si @nOccurence égale 2,
la fonction RAT() recherche l'occurrence suivante jusqu'à la dernière, et ainsi de suite.
Notes
RAT(), fonction inverse de la fonction AT(), recherche l'expression caractère 
dans @cExpressionOù, allant de droite à gauche, à la recherche de la dernière occurrence
de la chaîne spécifiée dans @cExpressionQuoi. La fonction RAT() renvoie un entier indiquant
l'emplacement du premier caractère de @cExpressionQuoi dans @cExpressionOù.
La fonction RAT() renvoie la valeur 0 si @cExpressionQuoi n'est pas trouvé dans @cExpressionOù,
ou si @nOccurence est supérieur au nombre d'occurrences de @cExpressionQuoi dans @cExpressionOù.
La recherche effectuée par RAT() respecte les majuscules et les minuscules.
Pour effectuer une recherche qui n'en tient pas compte, utilisez RATC().

Exemple d’utilisation de la fonction RAT()
declare @gcString nvarchar(4000), @gcFindString nvarchar(4000)
select @gcString = N'SUZANNE. Tu croyais, bon garçon, que cette dot qu''on me donne
était pour les beaux yeux de ton mérite ?', @gcFindString = N'a' 
select dbo.RAT(@gcFindString , @gcString, default) -- affiche 80
select dbo.RAT(@gcFindString , @gcString , 3) -- affiche 27

Voir aussi  AT(),  RATC()

OCCURS(): Renvoie le nombre d'occurrences d'une expression caractère à l'intérieur
d'une autre expression caractère. 
Syntaxe OCCURS(@cExpressionQuoi, @cExpressionOù) ou OCCURS2(@cExpressionQuoi, @cExpressionOù)
Valeur renvoyée smallint

Arguments
@cExpressionQuoi Spécifie une expression caractère que OCCURS() recherche dans @cExpressionOù.
@cExpressionOù Spécifie l'expression caractère dans laquelle OCCURS() recherche @cExpressionQuoi.
Notes
OCCURS() renvoie la valeur 0 (zéro) si @cExpressionQuoi n'est pas trouvée dans @cExpressionOù.
Exemple d’utilisation de la fonction OCCURS () ou OCCURS2()
declare @gcString nvarchar(4000)
select @gcString = N'FIGARO. J''avais assez fait pour l''espérer.'
select dbo.OCCURS(N'a', @gcString ) -- affiche 4
select dbo.OCCURS(N'c', @gcString ) -- affiche 0
select dbo.OCCURS(N'é', @gcString ) -- affiche 1
-- Compte les  occurrences des différents caractères d'une chaîne @gcCaracters dans la chaîne @gcString
declare @gcString nvarchar(4000), @gcCaracters nvarchar(256), @i smallint, @counter smallint
select @i = 1, @counter = 0
select @gcString = N'Belle C''est un mot qu''on dirait inventé pour elle
                     Quand elle danse et qu''elle met son corps à jour, tel
                     Un oiseau qui étend ses ailes pour s''envoler
                     Alors je sens l''enfer s''ouvrir sous mes pieds', @gcCaracters = N'eéèe'
while @i <= datalength(@gcCaracters)/2
  begin
    if charindex(substring(@gcCaracters,@i,1), left(@gcCaracters, @i - 1)) = 0
       select  @counter =  @counter + dbo.OCCURS2(substring(@gcCaracters,@i,1), @gcString)   
    select @i = @i + 1
  end
select  @counter -- affiche 28

Attention,  OCCURS retourne le nombre d'occurrences d'une expression caractère dans une autre
chaîne de caractère y compris les chevauchements !!!
select dbo.OCCURS('ABCA', 'ABCABCABCA') -- affiche 3
1 occurrence 'ABCA .. BCABCA' 
2 occurrence  'ABC...ABCA...BCA' 
3 occurrence  'ABCABC...ABCA'
OCCURS2 retourne le nombre d'occurrences d'une expression caractère dans une autre chaîne
de caractère en excluant les chevauchements !
select dbo.OCCURS2('ABCA', 'ABCABCABCA') -- affiche 2
1 occurrence 'ABCA .. BCABCA' 
2 occurrence 'ABCABC... ABCA'

Voir aussi  AT(),  RAT()


PADL() | PADR() | PADC() : Renvoie une chaîne de caractères à la longueur spécifiée
à partir d'une expression complétée à gauche, à droite ou des deux côtés
par des espaces ou des caractères.
Syntaxe PADL( @eExpression, @nTailleRésultat [, @cCaractèreRemplissage]) -ou- 
PADR(@eExpression, @nTailleRésultat [, @cCaractèreRemplissage]) -ou-
PADC(@eExpression, @nTailleRésultat [,@cCaractèreRemplissage])
Valeur renvoyée nvarchar (4000)
PADL, PADR  sont semblables aux fonctions Oracle PL/SQL LPAD, RPAD

Arguments
@eExpression Spécifie l'expression caractère qui doit être remplie.
@nTailleRésultat Spécifie le nombre total de caractères de l'expression remplie.
@cCaractèreRemplissage Spécifie la valeur à utiliser pour remplir l'expression.
Cette valeur est répétée autant de fois qu'il est nécessaire pour remplir l'expression 
avec le nombre spécifié de caractères. Si l'argument @cCaractèreRemplissage est omis,
des espaces (caractères ASCII 32) sont utilisés comme complément.

Notes
PADL() insère les caractères de remplissage à gauche de l'expression,
PADR() les insère à droite et PADC() les insère des deux côtés.

Exemple d'utilisation des fonctions PADL() | PADR() | PADC()
declare @gcString nvarchar(4000)
select @gcString = 'Le Mariage de Figaro' 
select dbo.PADL(@gcString, 40, default) -- affiche  '                    Le Mariage de Figaro'
select dbo.PADL(@gcString, 40, '+=+')   -- affiche '+=++=++=++=++=++=++=Le Mariage de Figaro'
select dbo.PADR(@gcString, 40, '=!!!=') -- affiche 'Le Mariage de Figaro=!!!==!!!==!!!==!!!='
select dbo.PADC(@gcString, 40, '=*=')   -- affiche '=*==*==*==Le Mariage de Figaro=*==*==*=='


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.
Syntaxe CHRTRAN(@cExpressionInitiale, @cExpressionRecherche, @cExpressionRemplacement)
Valeur renvoyée nvarchar (4000) 
CHRTRAN est semblable à la fonction Oracle PL/SQL TRANSLATE

Arguments
@cExpressionInitiale spécifie l'expression dans laquelle CHRTRAN() remplace les caractères.
@cExpressionRecherche spécifie l'expression contenant les caractères recherchés
par CHRTRAN() dans @cExpressionInitiale.
@cExpressionRemplacement spécifie l'expression contenant les caractères de remplacement.
Si un caractère contenu dans @cExpressionRecherche est trouvé dans @cExpressionInitiale,
il est remplacé dans @cExpressionInitiale par le caractère de @cExpressionRemplacement
se trouvant à la même position dans @cExpressionRemplacement que le caractère à 
remplacer dans @cExpressionRecherche. Si @cExpressionRemplacement compte moins de 
caractères que @cExpressionRecherche, les caractères supplémentaires dans @cExpressionRecherche
sont supprimés de @cExpressionInitiale. Si @cExpressionRemplacement compte plus de caractères
que @cExpressionRecherche, les caractères supplémentaires dans @cExpressionRemplacement sont ignorés.

Notes
CHRTRAN() convertit l'expression caractère @cExpressionInitiale en utilisant les
expressions de conversion @cExpressionRecherche et @cExpressionRemplacement et
renvoie la chaîne de caractères résultante.

Exemple d'utilisation de la fonction CHRTRAN()
select dbo.CHRTRAN('ABCDEF', 'ACE', 'XYZ') -- affiche 'XBYDZF'
select dbo.CHRTRAN('ABCDEF', 'ACE', 'XYZQRST') -- affiche 'XBYDZF'
select dbo.CHRTRAN(N'FIGARO: Dix-neuf pieds sur vingt-six.', 'abcdefghijklmnopr', 'bcdefghijklmnoprq')
-- affiche 'FIGARO: Djx-ofug rjfes suq vjoht-sjx.'

Voir aussi STRTRAN(), STRFILTER()


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.
Syntaxe 
STRTRAN(@cExprInitiale, @cExprRecherche [, @cExprRemplacement] [, @nOccurrenceDébut]
[, @nNombreOccurrences] [, @nFlags])
Valeur renvoyée nvarchar (4000)

Arguments
@cExprInitiale Spécifie l'expression caractère dans laquelle s'effectue la recherche. 
@cExprRecherche Spécifie l'expression caractère recherchée dans @cExprInitiale.
La recherche respecte la casse.
@cExprRemplacement Spécifie l'expression caractère qui remplace chaque occurrence 
de @cExprRecherche dans @cExprInitiale. Si @cExprRemplacement est omis, chaque occurrence
de @cExprRecherche est remplacée par une chaîne vide.
@nOccurrenceDébut Spécifie la première occurrence de @cExprRecherche à remplacer.
Par exemple, si @nOccurrenceDébut est égale à 4, les remplacements commencent
à la quatrième occurrence de @cExprRecherche dans @cExprInitiale, 
les trois premières occurrences de @cExprInitiale ne sont pas remplacées.
Si @nOccurrenceDébut est omise, le remplacement commence à la première occurrence.
@nNombreOccurrences Spécifie le nombre d'occurrences de @cExprInitiale à remplacer.
Si @nNombreOccurrences est omis, toutes les occurrences de @cExprRecherche, 
à partir de l'occurrence spécifiée par @nOccurrenceDébut, sont remplacées.

@nFlags Spécifie dans la recherche la distinction entre lettres capitales et minuscules,
en accord avec les valeurs suivantes :
-----------------------------------------------------------------------------------------
Valeur de @nFlags : 
0 (défaut)  La recherche  respecte  la casse, le remplacement est exactement la chaîne @cExprRemplacement.
1 La recherche ne respecte pas la casse, le remplacement est exactement la chaîne @cExprRemplacement. 
2 La recherche respecte la casse; @cExprRemplacement  sera modifié en fonction de la chaîne trouvée. 
  @cExprRemplacement, sera uniquement modifé si la chaîne trouvée est entièrement en majuscules, minuscules
  ou dans le cas de la première lettre en majuscule et le reste en minuscule (Proper).
3 La recherche ne respecte pas la casse; @cExprRemplacement  sera modifié en fonction de la chaîne trouvée. 
  @cExprRemplacement, sera uniquement modifé si la chaîne trouvée est entièrement en majuscules, minuscules
  ou dans le cas de la première lettre en majuscule et le reste en minuscule (Proper).
-----------------------------------------------------------------------------------------
Spécifiez -1 comme paramètres optionnels, si vous désirez omettre la fonction et si vous devez simplement
spécifier  @nFlags.

Notes
Vous pouvez spécifier l'endroit où doivent commencer les remplacements ainsi que leur nombre.
STRTRAN() renvoie la chaîne de caractères résultante.

Exemple d'utilisation de la fonction STRTRAN()
select dbo.STRTRAN('ABCDEF', 'ABC', 'XYZ',-1,-1,0)   -- affiche XYZDEF
select dbo.STRTRAN('ABCDEF', 'ABC', default,-1,-1,0) -- affiche DEF
select dbo.STRTRAN('ABCDEFABCGHJabcQWE', 'ABC', default,2,-1,0)  -- affiche ABCDEFGHJabcQWE
select dbo.STRTRAN('ABCDEFABCGHJabcQWE', 'ABC', default,2,-1,1)  -- affiche ABCDEFGHJQWE
select dbo.STRTRAN('ABCDEFABCGHJabcQWE', 'ABC', 'XYZ', 2, 1, 1)  -- affiche ABCDEFXYZGHJabcQWE
select dbo.STRTRAN('ABCDEFABCGHJabcQWE', 'ABC', 'XYZ', 2, 3, 1)  -- affiche ABCDEFXYZGHJXYZQWE
select dbo.STRTRAN('ABCDEFABCGHJabcQWE', 'ABC', 'XYZ', 2, 1, 2)  -- affiche ABCDEFXYZGHJabcQWE
select dbo.STRTRAN('ABCDEFABCGHJabcQWE', 'ABC', 'XYZ', 2, 3, 2)  -- affiche ABCDEFXYZGHJabcQWE
select dbo.STRTRAN('ABCDEFABCGHJabcQWE', 'ABC', 'xyZ', 2, 1, 2)  -- affiche ABCDEFXYZGHJabcQWE
select dbo.STRTRAN('ABCDEFABCGHJabcQWE', 'ABC', 'xYz', 2, 3, 2)  -- affiche ABCDEFXYZGHJabcQWE
select dbo.STRTRAN('ABCDEFAbcCGHJAbcQWE', 'Aab', 'xyZ', 2, 1, 2) -- affiche ABCDEFAbcCGHJAbcQWE
select dbo.STRTRAN('abcDEFabcGHJabcQWE', 'abc', 'xYz', 2, 3, 2)  -- affiche abcDEFxyzGHJxyzQWE
select dbo.STRTRAN('ABCDEFAbcCGHJAbcQWE', 'Aab', 'xyZ', 2, 1, 3) -- affiche ABCDEFAbcCGHJAbcQWE
select dbo.STRTRAN('ABCDEFAbcGHJabcQWE', 'abc', 'xYz', 1, 3, 3)  -- affiche XYZDEFXyzGHJxyzQWE

Voir aussi replace(), CHRTRAN()


STRFILTER(): Enlève tous les caractères d'une chaîne sauf ceux qui sont spécifiés.
Syntaxe  STRFILTER(@cExpressionSearched, @cSearchExpression)
Valeur renvoyée  nvarchar (4000) 
Arguments
@cExpressionSearched Spécifie la chaîne de caractères pour la recherche.
@cSearchExpression Spécifie les caractères a chercher et a retenir dans @cExpressionSearched 
Notes
STRFILTER() Enlève tous les caractères de @cExpressionSearched  qui ne sont pas compris
dans @cSearchExpression , renvoie ensuite les caractères qui restent. 
Exemple d’utilisation de la fonction STRFILTER()
select dbo.STRFILTER('asdfghh5hh1jk6f3b7mn8m3m0m6','0123456789') -- affiche 516378306
select dbo.STRFILTER('ABCDABCDABCD', 'AB') -- affiche 'ABABAB'

Voir aussi CHRTRAN() 


GETWORDCOUNT(): Renvoie le nombre de mots à l'intérieur d'une chaîne.
Syntaxe GETWORDCOUNT(@cString[, @cDelimiters])
Return Value smallint

Arguments
@cString nvarchar(4000) - Spécifie la chaîne dans laquelle on va compter le nombre de mots
@cDelimiters nvarchar(256) - Facultatif. Spécifie un ou plusieurs caractères délimiteurs utilisés
pour séparer les mots (ou groupes de caractères) en @cString.
Les délimiteurs par défaut sont: Espace, Tab, Retour de chariot, (Retour) à la ligne.
Remarque: GETWORDCOUNT() utilise chaque caractère individuellement dans @cDelimiters et non
la chaîne en entier comme simple délimiteur

Notes
GETWORDCOUNT() suppose par défaut que les mots sont délimités par des espaces ou des tabulations.
Si l’on spécifie un autre caractère comme délimiteur, cette fonction ignorera les espaces et les tabulations,
et utilisera le caractère spécifié uniquement.
Exemple d’utilisation de la fonction GETWORDCOUNT()
declare @cString nvarchar(4000)
set @cString = N'C''est une histoire qui a pour lieu
                 Paris la belle en l''an de Dieu
                 Mil-quatre-cent-quatre-vingt-deux
                 Histoire d''amour et de désir'
-- Si on utilise @cString comme chaîne de destination pour dbo.GETWORDCOUNT(),
-- l’on obtiendra  les résultats suivants. 
select dbo.GETWORDCOUNT(@cString, default) -- 20 - groupes des caractères, délimités par ' '
select dbo.GETWORDCOUNT(@cString, ' -')    -- 25 - groupes des caractères, délimités par ' -'
Voir aussi GETWORDNUM()


GETWORDNUM():  Renvoie un mot spécifié d'une chaîne
Syntaxe GETWORDNUM(@cString, @nIndex[, @cDelimiters])
Valeur renvoyée nvarchar(4000)

Arguments
@cString nvarchar(4000) - Spécifie la chaîne à  évaluer.
@nIndex smallint - Spécifie la position de l'index du mot qui va être renvoyé.
Par exemple, si @nIndex est 3, GETWORDNUM() renvoie le troisième mot 
(si @cString contient trois ou plus de mots). 
@cDelimiters nvarchar(256) - Facultatif. Spécifie un ou plusieurs caractères délimiteurs utilisés
pour séparer les mots (ou groupes de caractères) en @cString.
Les délimiteurs par défaut sont: Espace, Tab, Retour de chariot, (Retour) à la ligne.
Remarque : GETWORDNUM() utilise chaque caractère individuellement dans @cDelimiters et non
la chaîne en entier comme simple délimiteur.
Notes
Retourne le mot existant à la position spécifiée par @nIndex dans la chaîne de destination,
@cString. Si @cString contient moins de mots  @nIndex, GETWORDNUM() retournera une chaîne vide.

Exemple d’utilisation de la fonction GETWORDNUM()
declare @cString nvarchar(4000)
set @cString = N'La Folle Journée ou Le Mariage de Figaro'
select dbo.GETWORDNUM(@cString, 8, default) -- affiche 'Figaro'

Voir aussi GETWORDCOUNT()

GETALLWORDS():  Insère tous les mots d'une chaîne dans la table.
Syntaxe GETALLWORDS(@cString[, @cDelimiters])
Valeur renvoyée une table  @GETALLWORDS (WORDNUM  smallint, WORD nvarchar(4000),
                                         STARTOFWORD smallint, LENGTHOFWORD  smallint)
Arguments
@cString Spécifie la chaîne dont les mots seront insérés dans la table. 
@cDelimiters nvarchar(256) - Facultatif. Permet de définir un ou plusieurs caractères 
pour séparer les mots dans @cString. Les délimiteurs par défaut sont: Espace, Tab,
Retour de chariot, (Retour) à la ligne.
Remarque : GETALLWORDS() utilise chaque caractère individuellement dans @cDelimiters et non
la chaîne en entier comme simple délimiteur.
GETALLWORDS() suppose par défaut que les mots sont délimités par des espaces
ou des tabulations. Si l’on spécifie un autre caractère comme délimiteur, cette fonction
ignorera les espaces et les tabulations, et utilisera le caractère spécifié uniquement.

Exemple d'utilisation de la fonction GETALLWORDS()
declare @cString nvarchar(4000)
set @cString = 'Les délimiteurs par défaut sont: Espace, Tab, Retour de chariot, (Retour) à la ligne.'
select * from  dbo.GETALLWORDS(@cString, default)     
select * from dbo.GETALLWORDS(@cString, ' ,.')              
Voir aussi  GETWORDNUM() , GETWORDCOUNT()


PROPER():  Renvoie, à partir d'une expression caractère, une chaîne orthographiée comme un nom propre,
c'est-à-dire avec une majuscule initiale.
Syntaxe PROPER(@cExpression)  Valeur renvoyée nvarchar
PROPER est semblable à la fonction Oracle PL/SQL INITCAP

Arguments
@cExpression Spécifie l'expression caractère que PROPER() doit renvoyer sous la forme
d'une chaîne de caractères avec une majuscule initiale.

Exemple d'utilisation de la fonction PROPER()
declare @gcExpr1 nvarchar(4000), @gcExpr2 nvarchar(4000)
select @gcExpr1 = 'Visual Basic.NET', @gcExpr2 = 'VISUAL BASIC.NET'
select dbo.PROPER(@gcExpr1) -- affiche 'Visual Basic.net'
select dbo.PROPER(@gcExpr2) -- affiche 'Visual Basic.net'


ARABTOROMAN():  Renvoie un nombre romain équivalent à une expression numérique spécifiée.
Syntaxe ARABTOROMAN(@tNum) Valeur renvoyée  varchar(15) 
Argument @tNum une expression numérique 
Exemple d’utilisation de la fonction ARABTOROMAN ()
select dbo.ARABTOROMAN(3888) -- affiche MMMDCCCLXXXVIII

ROMANTOARAB() :  Renvoie une expression numérique équivalente à un nombre romain spécifié. 
Syntaxe ROMANTOARAB(@tcRomanNumber)  Valeur renvoyée  smallint 
Argument @tcRomanNumber varchar(15)  un nombre romain
Exemple d’utilisation de la fonction ROMANTOARAB ()
select dbo.ROMANTOARAB('MDCCCLXXXVIII') -- affiche 1888


J'aimerais remercier Monsieur Guy Bonemme pour la correction du texte en français.



Valid XHTML 1.1!Valid CSS!

Contacter le responsable de la rubrique SGBD & SQL