Fonctions
de chaînes : Traitements |
 |
à
partir de
|
 |
remplaçable
par
LEFT |
F_LEFT
(F_LEFT4, F_LEFT8)
F_BIGLEFT |
Compatible
avec
FreeUDFLib,
FreeUDFLibC, FreeUDFLib AvERP, GrUDF |
Entrypoint
|
left |
pas
compatible
UTF-8 – emploie U_LEFT (U_LEFT4, U_LEFT8) |
U_LEFT
(U_LEFT4, U_LEFT8)
|
Fonction
de adhoc
|
Entrypoint
|
u_left |
Compatibles UTF-8 |
Entrée |
CSTRING(254)
INTEGER |
Chaîne
Longueur de la chaîne demandée |
Sortie |
CSTRING(254) |
Fournit
une
partie de la chaîne d’entrée depuis son
premier caractère et d’une
longueur donnée par le paramètre 2 |
Le
comptage commence à 1.
TestSQL
SELECT 'Dies i' AS ISCORRECT, F_LEFT('Dies ist ein Test', 6) FROM
RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_LEFT(NULL, NULL) FROM RDB$DATABASE;
SELECT 'abcäöüx' AS ISCORRECT,
U_LEFT('abcäöüxyz', 7) FROM RDB$DATABASE
SELECT 'abcäöüxyz' AS ISCORRECT,
U_LEFT('abcäöüxyz', 20) FROM RDB$DATABASE
SELECT NULL AS ISCORRECT, U_LEFT(NULL, NULL) FROM RDB$DATABASE;
SELECT
'Czech: Císlicový pocítac je
zarízení, které
zpracovává data' AS
ISCORRECT, U_LEFT('Císlicový pocítac
je
zarízení, které
zpracovává data',
250) FROM RDB$DATABASE;
SELECT 'Polish: poniewaz taka definicje
komputera spelniaja tez kalkulatory' AS ISCORRECT, U_LEFT('poniewaz
taka definicje komputera spelniaja tez kalkulatory', 250) FROM
RDB$DATABASE;
SELECT 'Russian: Выполнение поставленных перед ним
задач компьютер может' AS ISCORRECT, U_LEFT('Выполнение поставленных
перед ним задач компьютер может', 250) FROM RDB$DATABASE;
SELECT
'Greek:
Πρακτικά,
η
Επιστήμη
των
Υπολογιστών
(επίσης
Πληροφορική)
σχετίζεται'
AS
ISCORRECT,
U_LEFT('Πρακτικά,
η
Επιστήμη
των
Υπολογιστών
(επίσης
Πληροφορική)
σχετίζεται',
250)
FROM RDB$DATABASE;
SELECT 'という語は元々は算術計算を行う人' AS ISCORRECT, U_LEFT('という語は元々は算術計算を行う人',
250)
FROM RDB$DATABASE;
SELECT 'Japanese: という語は' AS ISCORRECT, U_LEFT('という語は元々は算術計算を行う人', 5)
FROM RDB$DATABASE;
Attention!
Écriture de droite à gauche!
SELECT
'Arabic: اساسا يعبر مصطلح "حاسب" عن الشخص الذي يقوم بالحسابات
الرقمية
و' AS ISCORRECT, U_LEFT('اساسا يعبر مصطلح "حاسب" عن الشخص الذي يقوم
بالحسابات الرقمية و', 250) FROM RDB$DATABASE;
SELECT 'Arabic: اساسا'
AS ISCORRECT, U_LEFT('اساسا يعبر مصطلح "حاسب" عن الشخص الذي يقوم
بالحسابات الرقمية و', 5) FROM RDB$DATABASE; |
  |
à
partir de |
 |
remplaçable
par SUBSTRING |
F_MID
(F_MID4, F_MID8)
F_BIGMID |
Compatible
avec
FreeUDFLib,
FreeUDFLibC, FreeUDFLib AvERP
|
Entrypoint |
mid |
pas
compatible
UTF-8 – emploie U_MID (U_MID4, U_MID8) |
U_MID
(U_MID4, U_MID8)
|
Fonction
de adhoc
|
Entrypoint |
u_mid |
Compatibles UTF-8 |
F_COPY
|
Compatible
avec
GrUDF
|
Entrypoint |
mid1 |
pas
compatible
UTF-8 – emploie U_MID |
F_STRCOPY |
Entrée/Sortie
compatibles
avec
rFunc (SUBSTR, LONGSUBSTR) |
Entrypoint |
strcopy |
pas
compatible
UTF-8 – emploie U_MID |
Entrée |
CSTRING(254)
INTEGER
INTEGER |
Chaîne
hors de
laquelle on désire une chaîne partielle
Position du début de la chaîne partielle dans la
chaîne donnée
Longueur de la chaîne partielle |
Sortie |
CSTRING(254) |
Fournit
une
chaîne partielle de la
chaîne donnée, de longueur indiquée par
le paramètre 3, et à partir de
la position donnée par le paramètre 2. |
Le
premier caractère de la chaîne donnée
pour F_MID et F_STRCOPY est la
position 0,
pour F_COPY est la position 1
TestSQL
SELECT 'tag' AS ISCORRECT, F_MID('Geburtstagsparty', 7, 3)
FROM RDB$DATABASE;
SELECT 'tag' AS ISCORRECT, F_COPY('Geburtstagsparty', 8, 3)
FROM RDB$DATABASE;
SELECT 'tag' AS ISCORRECT, F_STRCOPY('Geburtstagsparty', 7,
3) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_MID(NULL, NULL, NULL) FROM RDB$DATABASE; |
  |
à
partir de
|
 |
remplaçable
par
RIGHT |
F_RIGHT
(F_RIGHT4, F_RIGHT8)
F_BIGRIGHT |
Compatible
avec
FreeUDFLib,
FreeUDFLibC, FreeUDFLib AvERP, GrUDF |
Entrypoint |
right |
pas
compatible
UTF-8 – emploie U_RIGHT |
U_RIGHT
(U_RIGHT4, U_RIGHT8)
|
Fonction
de adhoc |
Entrypoint |
u_right |
Compatibles UTF-8 |
Entrée |
CSTRING(254)
INTEGER |
Chaîne
Nombre de caractères à droite |
Sortie |
CSTRING(254) |
Ne
conserve à
la fin de la chaîne que le nombre de caractères
spécifié au paramètre 2 |
Le
comptage commence à 1
TestSQL
SELECT 'n Test' AS ISCORRECT, F_RIGHT('Dies ist ein Test', 6) FROM
RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_RIGHT(NULL, NULL) FROM RDB$DATABASE; |
  |
à
partir de
|
 |
remplaçable
par
POSITION |
F_SUBSTR
(F_SUBSTR4, F_SUBSTR8)
F_BIGSUBSTR
|
Compatible
avec
FreeUDFLibC
|
Entrypoint |
substr |
pas
compatible
UTF-8 – emploie U_SUBSTR |
Entrée |
CSTRING(8190)
CSTRING(1024) |
Chaîne
1 (dans
laquelle la position de la chaîne 2 va être
recherchée)
Chaîne 2 (dont on recherche la position dans la
chaîne 1) |
Sortie |
INTEGER |
Fournit
la
position de la première occurrence de la chaîne 2
dans la chaîne 1 |
F_SUBSTR
(F_STRSUB) |
Compatible
avec FreeUDFLib,
FreeUDFLib AvERP, GrUDF |
Entrypoint |
strsub |
pas
compatible
UTF-8 – emploie U_SUBSTR |
F_STRPOS |
Entrée/Sortie
compatibles avec rFunc (STRPOS) |
Entrypoint |
strpos |
pas
compatible
UTF-8 – emploie U_SUBSTR |
Entrée |
CSTRING(1024)
CSTRING(8190) |
Chaîne
1 (dont
on recherche la position dans la chaîne 2)
Chaîne 2 (dans laquelle la position de la chaîne 1
va être recherchée) |
Sortie |
INTEGER |
Fournit
la
position de la première occurrence de la chaîne 1
dans la chaîne 2 |
F_SUBSTR,
F_STRSUB etc.: Le
comptage commence à 0, si
pas trouvé -1.
F_STRPOS: Le
comptage commence à 1, si pas trouvé 0.
Remarque:
Dans la version originale de “FreeUDFLib” (1998 de
Gregory Deatz) la
séquence des paramètres d'entrée n'est
pas la même que dans les autres
fonctions String ainsi que dans la version portable C
“FreeUDFLibC” (1999 by Gregory Deatz).
Afin de maintenir la
compatibilité avec ces deux variantes, deux
“Entrypoints” différents
figurent dans le script DECLARE de la fonction F_SUBSTR.
- Pour la compatibilité avec
“FreeUDFLib” de Delphi, avec
“FreeUDFLib AvERP” et avec
“GrUDF” (qui est de son côté
compatible avec
“FreeUDFLib” de Delphi) on utilise le Entrypoint
“strsub”
- que pour la compatibilité avec
“FreeUDFLibC”, c'est le
Entrypoint “substr”.
TestSQL (Version FreeUDFLibC avec Entrypoint substr)
SELECT 9 AS ISCORRECT, F_SUBSTR('Pauline fährt in Urlaub',
'ähr') FROM
RDB$DATABASE;
SELECT -1 AS ISCORRECT, F_SUBSTR('Pauline fährt in Urlaub',
'chr') FROM
RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_SUBSTR(NULL, NULL) FROM RDB$DATABASE;
TestSQL (Version FreeUDFLib, GrUDF avec Entrypoint strsub)
SELECT 9 AS ISCORRECT, F_SUBSTR('ähr', 'Pauline fährt
in Urlaub') FROM
RDB$DATABASE; |
  |
à
partir de
|
 |
remplaçable
par
POSITION |
F_SUBSTRN
(F_SUBSTR)  |
Fonction
de adhoc |
Entrypoint |
substrn |
pas
compatible
UTF-8 – emploie U_SUBSTR |
U_SUBSTR |
Fonction
de adhoc |
Entrypoint |
u_substr |
Compatibles UTF-8 |
Entrée |
CSTRING(8190)
CSTRING(1024) |
Chaîne
1 (dans
laquelle la position de la chaîne 2 va être
recherchée)
Chaîne 2 (dont on recherche la position dans la
chaîne 1) |
Sortie |
INTEGER |
Fournit
la
position de la première occurrence de la chaîne 2
dans la chaîne 1 |
F_STRSUBN
(F_SUBSTR)  |
Fonction
de adhoc |
Entrypoint |
strsubn |
pas
compatible
UTF-8 – emploie U_SUBSTR |
Entrée |
CSTRING(1024)
CSTRING(8190) |
Chaîne
1 (dont
on recherche la position dans la chaîne 2)
Chaîne 2 (dans laquelle la position de la chaîne 1
va être recherchée) |
Sortie |
INTEGER |
Fournit
la
position de la première occurrence de la chaîne 1
dans la chaîne 2 |
Les
variantes
ci-dessus (F_SUBSTR et F_STRSUB) fournissent –1 si
le
recherche échoue.
Pour
obtenir maintenent le comportement correct <null> comme
dans
l'ancienne variante, on utilise respectivement les points
d'entrée
(Entrypoint) "strsubnull" et "substrnull".
TestSQL (Version FreeUDFLibC avec Entrypoint substrnull)
SELECT NULL AS ISCORRECT, F_SUBSTR('Pauline fährt in Urlaub',
'chr')
FROM
RDB$DATABASE; |
  |
F_STRRM
|
Compatible
avec |
Entrypoint |
strrm |
pas
compatible
UTF-8 – emploie U_STRRM |
U_STRRM
|
Fonction
de
adhoc |
Entrypoint |
u_strrm |
Compatibles UTF-8 |
Entrée |
CSTRING(8190)
INTEGER |
Chaîne
de
laquelle une position sera supprimée
Position dans la chaîne qui va être
supprimée |
Sortie |
CSTRING(8190) |
Supprime
le
caractère de la chaîne à la position
spécifiée |
Le
comptage commence à 0
TestSQL
SELECT 'ies ist ein Test' AS ISCORRECT, F_STRRM('Dies ist ein Test',
0)
FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_STRRM(NULL, NULL) FROM RDB$DATABASE; |
  |
F_LTRIM
(F_LTRIM4, F_LTRIM8)
F_BIGLTRIM |
Compatible
avec
FreeUDFLib,
FreeUDFLibC, FreeUDFLib AvERP, GrUDF
Entrée/Sortie
compatibles avec
rFunc (LTRIM, LONGLTRIM) |
Entrypoint |
ltrim |
Compatibles UTF-8 |
Entrée |
CSTRING(8190) |
Chaîne
dont on
désire supprimer les espaces en tête |
Sortie |
CSTRING(8190) |
Enlève
tous les
espaces en tête de la chaîne donnée |
Tout
en conservant les espaces protégés
(créés avec <ALT>
<255>)
TestSQL
SELECT 'Dies ist ein Test' AS ISCORRECT, F_LTRIM('
Dies ist ein Test') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_LTRIM(NULL) FROM RDB$DATABASE; |
  |
à
partir de |
 |
remplaçable
par TRIM |
F_RTRIM
(F_RTRIM4, F_RTRIM8)
F_BIGRTRIM |
Compatible
avec
FreeUDFLib,
FreeUDFLibC, FreeUDFLib AvERP, GrUDF
Entrée/Sortie
compatibles avec
rFunc (RTRIM, LONGRTRIM) |
Entrypoint |
rtrim |
Compatibles UTF-8 |
Entrée |
CSTRING(8190) |
Chaîne
à
laquelle
on enlève les espaces de la fin |
Sortie |
CSTRING(8190) |
Enlève
tous les
espace à la fin de la chaîne |
Tout
en conservant les espaces protégés
(créés avec <ALT>
<255>)
TestSQL
SELECT 'Dies ist ein Test' AS ISCORRECT,
F_STRINGLENGTH(F_RTRIM('Dies
ist ein Test ')) AS ANZ_ZEICHEN, F_RTRIM('Dies ist
ein
Test ') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_STRINGLENGTH(F_RTRIM(NULL)) AS
ANZ_ZEICHEN,
F_RTRIM(NULL) FROM RDB$DATABASE; |
  |
F_LRTRIM
(F_LRTRIM4, F_LRTRIM8)
F_BIGLRTRIM |
Compatible
avec
FreeUDFLib,
FreeUDFLibC, FreeUDFLib AvERP, GrUDF
Entrée/Sortie
compatibles avec
rFunc (TRIM, LONGTRIM) |
Entrypoint |
lrtrim |
Compatibles UTF-8 |
Entrée |
CSTRING(8190) |
Chaîne
dont on
désire supprimer les espaces en tête et en queue |
Sortie |
CSTRING(8190) |
Enlève
tous les
espaces en tête et en queue de la chaîne
donnée |
Tout
en conservant les espaces protégés
(créés avec <ALT>
<255>)
TestSQL
SELECT 'Dies ist ein Test' AS ISCORRECT,
F_STRINGLENGTH(F_LRTRIM(' Dies ist ein
Test ')) AS
ANZ_ZEICHEN, F_LRTRIM(' Dies ist ein Test
') FROM
RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_STRINGLENGTH(F_LRTRIM(NULL)) AS
ANZ_ZEICHEN, F_LRTRIM(NULL) FROM RDB$DATABASE; |
  |
à
partir de
|
 |
remplaçable
par LPAD |
F_PADLEFT |
Compatible
avec
FreeUDFLib,
FreeUDFLibC, FreeUDFLib AvERP, GrUDF |
Entrypoint |
padleft |
pas
compatible
UTF-8 – emploie U_PADLEFT |
U_PADLEFT |
Fonction
de adhoc |
Entrypoint |
u_padleft |
Compatibles UTF-8 |
Entrée |
CSTRING(4095)
CSTRING(16)
INTEGER |
Chaîne
1
Chaîne 2 (qui sert à remplir la chaîne 1)
Longueur à atteindre par le remplisage |
Sortie |
CSTRING(4095) |
Remplit
la
chaîne 1 à gauche avec
les caractères de la chaîne 2
jusqu’à ce que la longueur
spécifiée par
le paramètre 3 soit atteinte |
F_RPADLEFT |
Entrée/Sortie
compatibles avec rFunc (PADLEFT, LONGPADLEFT) |
Entrypoint |
r_padleft |
pas
compatible
UTF-8 – emploie U_PADLEFT |
Entrée |
CSTRING(4095)
INTEGER
CSTRING(16)
|
Chaîne
1
Longueur à atteindre par le remplisage
Chaîne 2 (qui sert à remplir la chaîne 1)
|
Sortie |
CSTRING(4095) |
Remplit
la
chaîne 1 à gauche avec
les caractères de la chaîne 2
jusqu’à ce que la longueur
spécifiée par
le paramètre 2 soit atteinte |
Si
la chaîne 2 comprend plus de 1 caractère, le
remplissage débute avec
les caractères de droite de la chaîne 2 et
s’arrête lorsque la longueur
totale spécifiée est atteinte (voir second test
ci-dessous).
TestSQL
SELECT 'XXXDies ist ein Test' AS ISCORRECT, F_PADLEFT('Dies ist ein
Test', 'X', 20) FROM RDB$DATABASE;
SELECT 'xXxDies ist ein Test' AS ISCORRECT, F_PADLEFT('Dies ist ein
Test', 'Xx', 20) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_PADLEFT(NULL, NULL, NULL) FROM
RDB$DATABASE; |
  |
à
partir de
|
 |
remplaçable
par RPAD |
F_PADRIGHT |
Compatible
avec
FreeUDFLib,
FreeUDFLibC, FreeUDFLib AvERP, GrUDF |
Entrypoint |
padright |
pas
compatible
UTF-8 – emploie U_PADRIGHT |
U_PADRIGHT |
Fonction
de
adhoc |
Entrypoint |
u_padright |
Compatibles UTF-8 |
Entrée |
CSTRING(4095)
CSTRING(16)
INTEGER |
Chaîne
1
Chaîne 2 (avec laquelle on complète la
chaîne 1)
Longueur de chaîne à atteindre par le remplissage |
Sortie |
CSTRING(4095) |
Complète
la
chaîne 1 à droite avec
le caractère ou les caractères de la
chaîne 2 pour atteindre la
longueur totale spécifiée par le
paramètre 3 |
F_RPADRIGHT |
Entrée/Sortie
compatibles avec rFunc (PADRIGHT, LONGPADRIGHT) |
Entrypoint |
r_padright |
pas
compatible
UTF-8 – emploie U_PADRIGHT |
Entrée |
CSTRING(4095)
INTEGER
CSTRING(16)
|
Chaîne
1
Longueur de chaîne à atteindre par le remplissage
Chaîne 2 (avec laquelle on complète la
chaîne 1)
|
Sortie |
CSTRING(4095) |
Complète
la
chaîne 1 à droite avec
le caractère ou les caractères de la
chaîne 2 pour atteindre la
longueur totale spécifiée par le
paramètre 2 |
Si
la chaîne 2 comprend plus de 1 caractère, le
remplissage débute avec
les caractères de gauche de la chaîne 2 et
s’arrête lorsque la longueur
totale spécifiée est atteinte (voir second test
ci-dessous).
TestSQL
SELECT 'Dies ist ein TestXXX' AS ISCORRECT, F_PADRIGHT('Dies ist ein
Test', 'X', 20) FROM RDB$DATABASE;
SELECT 'Dies ist ein TestXxX' AS ISCORRECT, F_PADRIGHT('Dies ist ein
Test', 'Xx', 20) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_PADRIGHT(NULL, NULL, NULL) FROM
RDB$DATABASE; |
  |
F_PADCENTER |
Fonction
de adhoc
|
Entrypoint |
padcenter |
pas
compatible
UTF-8 – emploie U_PADCENTER |
U_PADCENTER |
Fonction
de
adhoc
|
Entrypoint |
u_padcenter |
Compatibles UTF-8 |
Entrée |
CSTRING(4095)
CSTRING(16)
INTEGER |
Chaîne
1
Chaîne 2 (sert à compléter la
chaîne 1 à gauche et à droite)
Longueur à atteindre lors du remplissage |
Sortie |
CSTRING(4095) |
La
chaîne 2
sert à compléter la
chaîne 1 de telle sorte que la première
moitié qui s’insère à gauche
ait la même longueur que la partie de droite tout en
atteignant la
longueur totale donnée au paramètre 3 |
En
cas d’un nombre impair, le remplissage sera plus long
d’un caractère à
gauche.
TestSQL
SELECT 'XXDies ist ein TestXX' AS ISCORRECT, F_PADCENTER('Dies ist
ein
Test', 'X', 21) FROM RDB$DATABASE;
SELECT 'XXDies ist ein TestX' AS ISCORRECT, F_PADCENTER('Dies ist
ein
Test', 'X', 20) FROM RDB$DATABASE;
SELECT 'XxDies ist ein TestXx' AS ISCORRECT, F_PADCENTER('Dies ist
ein
Test', 'Xx', 21) FROM RDB$DATABASE;
SELECT 'XxDies ist ein TestX' AS ISCORRECT, F_PADCENTER('Dies ist
ein
Test', 'Xx', 20) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_PADCENTER(NULL, NULL, NULL) FROM
RDB$DATABASE; |
  |
F_LINEWRAP
|
Compatible
avec
FreeUDFLib,
FreeUDFLibC, FreeUDFLib AvERP, GrUDF |
Entrypoint |
linewrap |
pas
compatible
UTF-8 – emploie U_LINEWRAP |
U_LINEWRAP
|
Fonction
de adhoc
|
Entrypoint |
u_linewrap |
Compatibles UTF-8 |
Entrée |
CSTRING(32760)
INTEGER
INTEGER |
Chaîne
Position de départ
Justification |
Sortie |
CSTRING(32760) |
Founit
tous les
mots de la chaîne à partir de la position de
départ, qui ne dépassent
pas la justification.
|
Le
comptage commence à 0
TestSQL
SELECT 'alle avec einer Geburtstagsparty' AS ISCORRECT,
F_LINEWRAP('Wir gehen alle avec einer Geburtstagsparty', 10, 30)
FROM
RDB$DATABASE;
SELECT 'alle avec einer' AS ISCORRECT, F_LINEWRAP('Wir gehen
alle avec einer Geburtstagsparty', 10, 29) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_LINEWRAP(NULL, NULL, NULL) FROM
RDB$DATABASE; |
  |
à
partir de |
 |
remplaçable
par REPLACE |
F_REPLACE
(F_REPLACE4, ...8)
F_BIGREPLACE |
Compatible
avec
FreeUDFLibC
Entrée/Sortie
compatibles avec
rFunc (STRREPLACE, LONGSTRREPLACE) |
Entrypoint |
replace |
Compatibles UTF-8 |
Entrée |
CSTRING(32760)
CSTRING(254)
CSTRING(254) |
Chaîne
dans
laquelle le remplacement va s’opérer
Chaîne partielle à remplacer
Chaîne servant à remplacer la chaîne du
paramètre 2 |
Sortie |
CSTRING(32760) |
Remplace
dans
une chaîne toutes les
chaînes partielles identiques à celle
spécifiée au paramètre 2 par la
chaîne spécifiée au
paramètre 3 |
Simplification
de la fonction F_REPLACESTRING sans la possibilité de faire
un seul
remplacement et qui respecte les majuscules et minuscules
spécifiées au
paramètre 2.
TestSQL
SELECT 'Dies ist ein Versuch zwei Versuch drei Versuch vier TEST' AS
ISCORRECT, F_REPLACE('Dies ist ein Test zwei Test drei Test vier
TEST',
'Test', 'Versuch') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_REPLACE(NULL, NULL, NULL) FROM
RDB$DATABASE; |
  |
F_REPLACESTRING
(..4, ..8)
F_BIGREPLACESTRING |
Compatible
avec FreeUDFLib
AvERP, GrUDF |
Entrypoint |
replacestring |
pas
compatible
UTF-8 – emploie U_REPLACESTRING |
U_REPLACESTRING
(..4, ..8)
|
Fonction
de adhoc
|
Entrypoint |
u_replacestring |
Compatibles UTF-8 |
Entrée |
CSTRING(32760)
CSTRING(254)
CSTRING(254)
INTEGER
INTEGER |
Chaîne
dans
laquelle le remplacement va s’opérer
Chaîne partielle à remplacer
Chaîne servant à remplacer la chaîne du
paramètre 2
0 = seulement le premier remplacement, 1 = tous les remplacements
possibles
0 = respecter la casse des caractères du
paramètre 2, 1 = ne pas
respecter |
Sortie |
CSTRING(32760) |
Remplace
dans
une chaîne une ou
toutes les chaînes partielles identiques à celle
spécifiée au paramètre
2 par la chaîne spécifiée au
paramètre 3. Peut tenir compte ou pas de
la casse des caractères du paramètre 2. |
TestSQL
SELECT 'Dies ist ein Versuch zwei Test drei Test vier TEST' AS
ISCORRECT, F_REPLACESTRING('Dies ist ein Test zwei Test drei Test
vier
TEST', 'Test', 'Versuch', 0, 0) FROM RDB$DATABASE;
SELECT 'Dies ist ein Versuch zwei Test drei Test vier TEST' AS
ISCORRECT, F_REPLACESTRING('Dies ist ein Test zwei Test drei Test
vier
TEST', 'Test', 'Versuch', 0, 1) FROM RDB$DATABASE;
SELECT 'Dies ist ein Versuch zwei Versuch drei Versuch vier TEST' AS
ISCORRECT, F_REPLACESTRING('Dies ist ein Test zwei Test drei Test
vier
TEST', 'Test', 'Versuch', 1, 0) FROM RDB$DATABASE;
SELECT 'Dies ist ein Versuch zwei Versuch drei Versuch vier Versuch'
AS
ISCORRECT, F_REPLACESTRING('Dies ist ein Test zwei Test drei Test
vier
TEST', 'Test', 'Versuch', 1, 1) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_REPLACESTRING(NULL, NULL, NULL, NULL,
NULL)
FROM RDB$DATABASE; |
  |
F_CONVERTSYMBOLS |
Entrée/Sortie
compatibles
avec
rFunc (CONVERTSYMBOLS, LONGCONVERTSYMBOLS) |
Entrypoint |
convertsymbols |
pas
compatible
UTF-8 – emploie U_CONVERTSYMBOLS |
U_CONVERTSYMBOLS |
Fonction
de adhoc
|
Entrypoint |
u_convertsymbols |
Compatibles UTF-8 |
Entrée |
CSTRING(32760)
CSTRING(254)
CSTRING(254) |
Chaîne
contenant
les
caractères à convertir
Chaîne
2 reprenant les caractères à soumettre
à la conversion
Chaîne
3 reprenant les caractères convertis correspondant
à la même position
de la chaîne 2 |
Sortie |
CSTRING(32760) |
Chaîne
telle
qu’elle
résulte de la conversion
définie par les chaînes 2 et 3 |
TestSQL
SELECT
'(a+ab)-abc*a+b=c' AS ISCORRECT,
F_CONVERTSYMBOLS('(1+12)-123*1+2=3',
'123', 'abc') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_CONVERTSYMBOLS(NULL, NULL, NULL)
FROM RDB$DATABASE; |
  |
à
partir de
|
 |
remplaçable
par REVERSE |
F_REVERSE |
Fonction
de adhoc
|
Entrypoint |
reverse |
pas
compatible
UTF-8 – emploie U_REVERSE |
U_REVERSE |
Fonction
de adhoc
|
Entrypoint |
u_reverse |
Compatibles UTF-8 |
Entrée |
CSTRING(254) |
Chaîne dont on veut inverser
l’ordre des caractères |
Sortie |
CSTRING(254) |
Fournit une chaîne dont
l’ordre des caractères est
inversé |
Majuscules/minuscules y restent
les mêmes.
TestSQL
SELECT 'ynamreG' AS ISCORRECT, F_REVERSE('Germany') FROM
RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_REVERSE(NULL) FROM RDB$DATABASE; |
  |
F_STRIPSTRING
F_BIGSTRIPSTRING
|
Compatible
avec
FreeUDFLib,
FreeUDFLibC, FreeUDFLib AvERP, GrUDF |
Entrypoint |
stripstring |
pas
compatible
UTF-8 – emploie U_STRIPSTRING |
F_STRIPSTRING
|
Fonction
de
adhoc
|
Entrypoint |
u_stripstring |
Compatibles UTF-8 |
Entrée |
CSTRING(32760)
CSTRING(254) |
Chaîne
1 (de
laquelle tous les caractères de la chaîne 2 sont
à enlever)
Chaîne 2 (Caractères qui sont à enlever) |
Sortie |
CSTRING(32760) |
Enlève
de la
chaîne 1 tous les caractères contenus dans la
chaîne 2, quel que soit
leur ordre dans cette chaîne 2 |
Pendant
de F_HOLDSTRING et F_STRIPSTRINGHOLD
TestSQL
SELECT 'Ds s n Ts Tx' AS ISCORRECT, F_STRIPSTRING('Dies ist ein Test
Text', 'iet') FROM RDB$DATABASE;
SELECT 'Ds s n Ts Tx' AS ISCORRECT, F_STRIPSTRING('Dies ist ein Test
Text', 'tei') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_STRIPSTRING(NULL, NULL) FROM
RDB$DATABASE; |
  |
F_STRIPSTRINGHOLD
F_HOLDSTRING
F_BIGSTRIPSTRINGHOLD |
Compatible
avec
FreeUDFLib,
FreeUDFLib AvERP, GrUDF
Compatible
avec FreeUDFLibC
|
Entrypoint |
stripstringhold |
pas
compatible
UTF-8 – emploie U_STRIPSTRINGHOLD |
U_STRIPSTRINGHOLD |
Fonction
de adhoc
|
Entrypoint |
u_stripstringhold |
Compatibles UTF-8 |
Entrée |
CSTRING(32760)
CSTRING(254) |
Chaîne
1 (de
laquelle tous les caractères de la chaîne 2 sont
à enlever)
Chaîne 2 (Caractères qui sont à enlever) |
Sortie |
CSTRING(32760) |
Enlève
de la
chaîne 1 tous les caractères qui ne sont pas
compris dans la chaîne 2,
quel que soit leur ordre dans cette chaîne 2 |
Dit
autrement: Renvoie seulement les caractères de la
chaîne 1 dans leur
ordre et qui sont compris dans la chaîne 2.
Pendant de F_STRIPSTRING
Une requête SQL ne peut comprendre à la fois
F_HOLDSTRING et
F_STRIPSTRINGHOLD
TestSQL
SELECT 'ieiteietet' AS ISCORRECT, F_HOLDSTRING('Dies ist ein Test
Text', 'iet') FROM RDB$DATABASE;
SELECT 'ieiteietet' AS ISCORRECT, F_HOLDSTRING('Dies ist ein Test
Text', 'tei') FROM RDB$DATABASE;
SELECT 'ieiteietet' AS ISCORRECT, F_HOLDSTRING('Dies ist ein Test
Text', 'iet') FROM RDB$DATABASE;
SELECT 'ieiteietet' AS ISCORRECT, F_HOLDSTRING('Dies ist ein Test
Text', 'tei') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_STRIPSTRINGHOLD(NULL, NULL) FROM
RDB$DATABASE; |
  |
F_REPEATTRIM |
Entrée/Sortie
compatibles
avec rFunc (REPEATTRIM, LONGREPEATTRIM)
|
Entrypoint |
repeattrim |
pas
compatible
UTF-8 – emploie U_REPEATTRIM |
U_REPEATTRIM |
Fonction
de
adhoc
|
Entrypoint |
u_repeattrim |
Compatibles UTF-8 |
Entrée |
CSTRING(8190)
CSTRING(1) |
Chaîne
1 de laquelle on doit éliminer des caractères
Chaîne
2: caractère répétitif à
éliminer |
Sortie |
CSTRING(8190) |
Chaîne
résultant de la suppression de toutes les
répétitions consécutives de
chaîne 2 dans
la chaîne 1 |
TestSQL
SELECT '123' AS ISCORRECT, F_REPEATTRIM('12223', '2') FROM
RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_REPEATTRIM(NULL, NULL) FROM
RDB$DATABASE;
|
  |
F_STRREPEAT |
Entrée/Sortie
compatibles
avec rFunc (STRREPEAT, LONGSTRREPEAT)
|
Entrypoint |
strrepeat |
Compatibles UTF-8 |
Entrée |
CSTRING(254)
SMALLINT |
Chaîne
1 à répéter
Nombre
de répétitions de la chaîne 1
|
Sortie |
CSTRING(8190) |
Chaîne
résultant de la répétition de la
chaîne 1 un nombre de fois donné par
le nombre
du second paramètre |
Il faut
cependant prendre garde à ce
que la
chaîne de sortie ne dépasse pas la longueur
définie!
TestSQL
SELECT 'TestTestTest' AS ISCORRECT, F_STRREPEAT('Test', 3) FROM
RDB$DATABASE;
SELECT '' AS ISCORRECT, F_STRREPEAT('Test', 0)
FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_STRREPEAT(NULL,
NULL) FROM
RDB$DATABASE; |
  |
F_STROFCHAR |
Compatible
avec
GrUDF |
Entrypoint |
strofchar |
pas
compatible
UTF-8 – emploie U_STRREPEAT |
Entrée |
CSTRING(1)
INTEGER |
Chaîne
qui doit
être répétée
Nombre des répétitions |
Sortie |
CSTRING(32760) |
Fournit
une
chaîne répétant le caractère
spécifié en paramètre 1 et de la
longueur
spécifiée en paramètre 2 |
TestSQL
SELECT F_STRINGLENGTH(F_STROFCHAR('A', 10)) || ' vois
A' AS
ISCORRECT,
F_STROFCHAR('A', 10) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_STROFCHAR(NULL, NULL) FROM RDB$DATABASE; |
  |
à
partir de
|
 |
remplaçable
par OVERLAY |
F_STRSTUFF |
Entrée/Sortie
compatibles
avec rFunc (STRSTUFF, LONGSTRSTUFF)
|
Entrypoint |
strstuff |
pas
compatible
UTF-8 – emploie U_STRSTUFF |
U_STRSTUFF |
Fonction
de
adhoc
|
Entrypoint |
u_strstuff |
Compatibles UTF-8 |
Entrée |
CSTRING(8190)
SMALLINT
SMALLINT
CSTRING(254) |
Chaîne
1 dans laquelle des caractères doivent être
changés
Position
du début de la chaîne partielle dans la
chaîne donnée
Longueur de la chaîne partielle
Caractères de remplacement |
Sortie |
CSTRING(81900) |
Chaîne
résultante après le remplacement de la
chaîne 4 dans la chaîne 1 à
partir le la
position donnée par le paramètre 2 et pour une
longueur donnée par le
paramètre
3 |
Le
comptage commence à 1.
Le
nombre de caractères supprimés et le nombre de
caractères de
remplacement ne
doivent pas être identiques.
TestSQL
SELECT '12abcd567890' AS ISCORRECT,
F_STRSTUFF('1234567890', 3, 2, 'abcd') FROM RDB$DATABASE;
SELECT
NULL AS ISCORRECT, F_STRSTUFF(NULL, NULL, NULL, NULL) FROM
RDB$DATABASE; |
  |
F_COLLATEBR |
Compatible
avec GrUDF |
Entrypoint |
collatebr |
pas
compatible
UTF-8 – en cas de besoin, nous contacter |
Entrée |
CSTRING(32760) |
Chaîne
dans
laquelle des signes particuliers doivent
êtretransformés |
Sortie |
CSTRING(32760) |
Transformation
signifie
ici substitution d’une lettre accentuée
par une lettre
majuscule non accentuée |
á,
â, ã, à, ä, å,
Á, Â, Ã, À, Ä,
Å
=> A
é, ê, è, ë, É,
Ê, È, Ë
=> E
í, î, ì, ï, Í,
Î, Ì, Ï
=> I
ó, ô, õ, ò, ö,
Ó, Ô, Õ, Ò, Ö
=> O
ú, û, ù, ü,Ú,
Û, Ù, Ü
=> U
ç, Ç
=> C
ñ, Ñ
=> N
ý, ÿ, Ý
=> Y
TestSQL
SELECT 'AAAAAAAAAAAA' AS ISCORRECT,
F_COLLATEBR('áâãàäåÁÂÃÀÄÅ')
FROM RDB$DATABASE;
SELECT 'EEEEEEEE' AS ISCORRECT,
F_COLLATEBR('éêèëÉÊÈË')
FROM
RDB$DATABASE;
SELECT 'IIIIIIII' AS ISCORRECT,
F_COLLATEBR('íîìïÍÎÌÏ')
FROM
RDB$DATABASE;
SELECT 'OOOOOOOOOO' AS ISCORRECT,
F_COLLATEBR('óôõòöÓÔÕÒÖ')
FROM
RDB$DATABASE;
SELECT 'UUUUUUUU' AS ISCORRECT,
F_COLLATEBR('úûùüÚÛÙÜ')
FROM
RDB$DATABASE;
SELECT 'CC' AS ISCORRECT, F_COLLATEBR('çÇ') FROM
RDB$DATABASE;
SELECT 'NN' AS ISCORRECT, F_COLLATEBR('ñÑ') FROM
RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_COLLATEBR(NULL) FROM RDB$DATABASE; |
  |
F_KEYUP |
Fonction
de adhoc
|
Entrypoint |
keyup |
pas
compatible
UTF-8 – en cas de besoin, nous contacter |
Entrée
|
CSTRING(32760)
SMALLINT |
Chaîne
contenant
les
caractères à convertir
Longueur
de la chaîne de sortie |
Sortie
|
CSTRING(32760) |
Chaîne
telle
qu’elle
résulte de la conversion |
Convertit une
chaîne
-
en caractères haut de casse
- en ne prenant en considération
que les caractères alphanumériques,
accentués inclus,
- et en
les remplaçant par leur équivalent non
accentué.
Á, Â,
Ã, À, Ä, Å
=> A
É, Ê,
È, Ë
=> E
Í, Î, Ì,
Ï
=> I
Ó, Ô, Õ,
Ò, Ö
=> O
Ú, Û, Ù,
Ü
=> U
Ç
=> C
Æ
=> AE
Ø
=> OE
ß
=> SS
Đ
=> D
Ñ
=> N
Ý
=> Y
- Tronque éventuellement la
chaîne produite selon la longueur donnée.
TestSQL
SELECT
'7A 5E 5I 6O 5U 2C 2AE 2OE 4S 2D 2N 2Y 1234567' AS ISCORRECT,
F_KEYUP('AáâãàäåEéêèëIíîìïOóôõòöUúûùüCçAEæOEøSSßDd.NñYý1234567890',
55)
FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_KEYUP(NULL,
NULL) FROM RDB$DATABASE; |
  |
F_PRED
|
Fonction
de adhoc
|
Entrypoint |
predecessor |
pas
compatible
UTF-8 – emploie U_PRED |
U_PRED
|
Fonction
de adhoc
|
Entrypoint |
u_predecessor |
Compatibles UTF-8 |
Entrée |
CSTRING(1)
INTEGER |
Caractère pour lequel on recherche un
suivant
Nombre de caractères en
décalage en avant ou en
arrière par rapport au caractère du
paramètre 1 |
Sortie |
CSTRING(1) |
Donne le caractère suivant ou
précédent avec un
décalage exprimé par le paramètre 2 |
Si le paramètre a la valeur 512 (ou un
multiple de
512) la sortie est la même que l’entrée.
Test SQL
SELECT 'b' AS ISCORRECT, F_PRED('a', -1) FROM RDB$DATABASE;
SELECT 'a' AS ISCORRECT, F_PRED('b', 1) FROM RDB$DATABASE;
SELECT 'a' AS ISCORRECT, F_PRED('a', 512) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_PRED(NULL, NULL) FROM RDB$DATABASE;
SELECT '¢' AS ISCORRECT, U_PRED('£', 1) FROM
RDB$DATABASE;
SELECT '¡' AS ISCORRECT, U_PRED('£', 2) FROM
RDB$DATABASE;
SELECT 'あ' AS ISCORRECT, U_PRED('え', 6) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, U_PRED(NULL, NULL) FROM RDB$DATABASE;
|
  |
F_SUCC |
Fonction de adhoc
|
Entrypoint |
successor |
pas
compatible
UTF-8 – emploie U_SUCC |
U_SUCC |
Fonction de adhoc
|
Entrypoint |
u_successor |
Compatibles UTF-8 |
Entrée |
CSTRING(1)
INTEGER |
Caractère pour lequel on recherche un
précédent
Nombre de caractères en
décalage en arrière ou en
avant par rapport au caractère du paramètre 1 |
Sortie |
CSTRING(1) |
Donne le caractère
précédent ou suivant avec un
décalage
exprimé par le paramètre 2 |
Si le paramètre a la valeur 512 (ou un
multiple de
512) la sortie est la même que l’entrée.
Test SQL
SELECT 'a' AS ISCORRECT, F_SUCC('b', -1) FROM RDB$DATABASE;
SELECT 'c' AS ISCORRECT, F_SUCC('b', 1) FROM RDB$DATABASE;
SELECT 'b' AS ISCORRECT, F_SUCC('b', 512) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_SUCC(NULL, NULL) FROM RDB$DATABASE;
SELECT '¤' AS ISCORRECT, U_SUCC('£', 1) FROM
RDB$DATABASE;
SELECT '×' AS ISCORRECT, U_SUCC('Ö', 1) FROM
RDB$DATABASE;
SELECT 'Γ' AS ISCORRECT, U_SUCC('Ώ', 4) FROM RDB$DATABASE;
SELECT 'ぎ' AS ISCORRECT, U_SUCC('え', 6) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, U_SUCC(NULL, NULL) FROM RDB$DATABASE;
|
  |