FreeAdhocUDF pour InterBase et FireBird in deutschin englishen françaisen españolin italianoa português
homeprevious pagecontentnext pagelast page Seite empfehlen • advice website •Forum Mailing-Liste • mailinglist • liste de diffusionwas ich vermisse • what I missed •eMail Kommentar • eMail commentprintsitemap
 
Functions comprises dans FreeAdhocUDF.dll/.so/.dylib :
Fonctions de chaînes  91 fonctions et 28 variantes
Utilitaires 10 fonctions
Traitements 45 fonctions et 19 variantes
Conversions 21 fonctions et 6 variantes
Comparaisons 3 fonctions
Recherches  12 fonctions et 3 variantes
Il existe des variantes optionnelles pour certaines fonctions, par exemple les variantes F_LEFT4 et F_LEFT8 pour la fonction F_LEFT. Ces variantes ne se différencient que par la longueur des chaînes entrées et sorties. Ainsi
F_LEFT   -> Entrée CSTRING(254), sortie CSTRING (254)
F_LEFT4 -> Entrée CSTRING(4096), sortie CSTRING(4096)
F_LEFT8 -> Entrée CSTRING(8190), sortie CSTRING(8190)
Ces variantes ne peuvent absolument pas être utilisées simultanément et conjointement dans une même requête SQL.
Depuis FireBird 2.0, au lieu de 0 donne ‘’(vide) ou ’17.11.1858’ <null>
á partir de FireBird 1.0 on peut  remplacer par la fonction SQL incorporée
á partir de FireBird 2.0 on peut  remplacer par la fonction SQL incorporée
á partir de FireBird 2.1 on peut  remplacer par la fonction SQL incorporée
Lors du RETURN: FREE_IT, sauf indication contraire
Les TestSQL avec NULL ne sont opérationnels que sous FireBird 2.0
 
Fonctions de chaînes : Utilitaires
F_CRLF Compatible avec FreeUDFLib, FreeUDFLibC, FreeUDFLib AvERP
Entrypoint crlf Compatibles UTF-8
Entrée sans
Sortie CSTRING(3) Retour chariot et nouvelle ligne. Fournit les signes CHR(13) + CHR(10)
TestSQL
SELECT ' ABC' || F_CRLF() || '123' FROM RDB$DATABASE;
Résultat: ‘ABC’  ( 1e ligne )
                ‘123’  ( 2e ligne )
SELECT '1e ligne' || F_CRLF() || '2e ligne' FROM RDB$DATABASE;
nach oben • go top •
F_LF Fonction de adhoc
Entrypoint lf Compatibles UTF-8
Entrée sans
Sortie CSTRING(2) Marquage de fin de ligne. Met en oeuvre le caractère CHR(10)
Identique à F_CHARACTER(10).
TestSQL
SELECT 'ABC' || F_LF() || '123' FROM RDB$DATABASE;
nach oben • go top •
F_SPACE Compatible avec GrUDF
Entrypoint space Compatibles UTF-8
Entrée INTEGER nombre d’espaces
Sortie CSTRING(32760) Fournit une chaîne d’espaces (CHR(32) de la longueur spécifiée par le paramètre
TestSQL
SELECT F_STRINGLENGTH(F_SPACE(10)) || ' chaîne d’espaces e une x' AS ISCORRECT, F_SPACE(10) || 'x' FROM RDB$DATABASE;
nach oben • go top •
F_NBSP Fonction de adhoc
Entrypoint nbsp pas compatible UTF-8 - emploie U_NBSP
U_NBSP Fonction de adhoc
Entrypoint u_nbsp Compatibles UTF-8
Entrée sans
Sortie CSTRING(2) Espace insécable (non-braking-space).
Produit le caractère CHR(160) resp. U+00A0
Identique à F_CHARACTER(160).
TestSQL
SELECT 'ABC 123' AS ISCORRECT, 'ABC' || F_NBSP() || '123' FROM RDB$DATABASE;
SELECT 'ABC 123' AS ISCORRECT, 'ABC' || U_NBSP() || '123' FROM RDB$DATABASE;
nach oben • go top •
U_NNBSP Fonction de adhoc
Entrypoint u_nnbsp seulement UTF-8
Entrée sans
Sortie CSTRING(2) espace fine insécable (narrow-non-braking-space) (caractère U+202F)
TestSQL
SELECT 'z. B. 123' AS ISCORRECT, 'z.' || F_NNBSP() || 'B. 123' FROM RDB$DATABASE;
nach oben • go top •
F_DQM Fonction de adhoc
Entrypoint dqm Compatibles UTF-8
Entrée sans
Sortie CSTRING(2) Guillemet double ouvrant ou fermant (format droit) (doube-quote-mark). Fournit le caractère CHR(34)
Identique à F_CHARACTER(34).
TestSQL
SELECT 'ABC"123' AS ISCORRECT, 'ABC' || F_DQM() || '123' FROM RDB$DATABASE;
nach oben • go top •
F_SQM Fonction de adhoc
Entrypoint sqm Compatibles UTF-8
Entrée sans
Sortie CSTRING(2) Apostrophe droite (non typographique) (single-quote-mark). Fournit le caractère CHR(39)
Identique à F_CHARACTER(39).
TestSQL
SELECT 'ABC<Apostrophe droite>123' AS ISCORRECT, 'ABC' || F_SQM() || '123' FROM RDB$DATABASE;
nach oben • go top •
F_DSQM Fonction de adhoc
Entrypoint dsqm Compatibles UTF-8
Entrée sans
Sortie CSTRING(2) DEUX apostrophes simples. Produit deux fois le caractère CHR(39) à la suite l’un de l‘autre
TestSQL
SELECT 'ABC<zwei einfache Hochkomata>123' AS ISCORRECT, 'ABC' || F_DSQM() || '123' FROM RDB$DATABASE;
nach oben • go top •
F_TAB Fonction de adhoc
Entrypoint tab Compatibles UTF-8
Entrée sans
Sortie CSTRING(2) Tabulateur. Fournit le caractère CHR(9)
Identisch avec F_CHARACTER(9).
TestSQL
SELECT 'ABC<TAB>123' AS ISCORRECT, 'ABC' || F_TAB() || '123' FROM RDB$DATABASE;
nach oben • go top •
 
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; 
nach oben • go top •
à 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;
nach oben • go top •
à 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;
nach oben • go top •
à 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;
nach oben • go top •
à 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;
nach oben • go top •
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;
nach oben • go top •
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;
nach oben • go top •
à 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;
nach oben • go top •
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;
nach oben • go top •
à 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;
nach oben • go top •
à 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;
nach oben • go top •
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;
nach oben • go top •
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;
nach oben • go top •
à 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;
nach oben • go top •
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;
nach oben • go top •
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;
nach oben • go top •
à 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;
nach oben • go top •
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;
nach oben • go top •
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;
nach oben • go top •
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;
nach oben • go top •
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;
nach oben • go top •
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;
nach oben • go top •
à 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;
nach oben • go top •
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;
nach oben • go top •
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;
nach oben • go top •
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;
nach oben • go top •
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;
nach oben • go top •
 
Fonctions de chaînes : Conversions
à partir de remplaçable par LOWER
F_LOWER
F_ANSILOWERCASE
Fonction de adhoc
Compatible avec FreeUDFLib AvERP, GrUDF
Entrypoint lower pas compatible UTF-8 – emploie U_LOWER
U_LOWER Fonction de adhoc
Entrypoint u_lower Compatibles UTF-8
Entrée CSTRING(32760) Chaîne à transformer
Sortie CSTRING(32760) Tous les signes sont des lettres minuscules, y compris les lettres accentuées
Convertit toutes les lettres majuscules en lettres miniscules.
Cette fonction n’est plus nécessaire sous FireBird 2, car LOWER(..) traite aussi correctement les caractères spéciaux ou accentués.
TestSQL
SELECT 'schöner tag' AS ISCORRECT, F_LOWER('SchÖner TAG') FROM RDB$DATABASE;
SELECT 'schöner tag' AS ISCORRECT, F_ANSILOWERCASE('SchÖner TAG') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT,  F_LOWER(NULL) FROM RDB$DATABASE;
nach oben • go top •
à partir de remplaçable par UPPER
F_UPPER
F_ANSIUPPERCASE
Fonction de adhoc
Compatible avec FreeUDFLib AvERP, GrUDF
Entrypoint upper pas compatible UTF-8 – emploie U_UPPER
U_UPPER Fonction de adhoc
Entrypoint u_upper Compatibles UTF-8
Entrée CSTRING(32760) Chaîne à transformer
Sortie CSTRING(32760) Tous les signes sont des lettres majuscules, y compris les lettres accentuées
Convertit toutes les lettres majuscules en lettres majuscules.
Cette fonction n’est plus nécessaire sous FireBird 2, car UPPER(..) traite aussi correctement les caractères spéciaux ou accentués.
TestSQL
SELECT 'SCHÖNER TAG' AS ISCORRECT, UPPER('Schöner Tag'), F_UPPER('Schöner Tag') FROM RDB$DATABASE;
SELECT 'SCHÖNER TAG' AS ISCORRECT, UPPER('Schöner Tag'), F_ANSIUPPERCASE('Schöner Tag') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, UPPER(NULL), F_UPPER(NULL) FROM RDB$DATABASE;
nach oben • go top •
à partir de remplaçable par LOWER
F_RLOWER Compatible avec rFunc (RLOWER, LONGRLOWER)
seulement pour charset Win1251
Entrypoint rlower pas compatible UTF-8 – emploie U_LOWER
Entrée CSTRING(32760) Chaîne à transformer
Sortie CSTRING(32760) Tous les signes sont des lettres minuscules, y compris les lettres accentuées
Convertit toutes les lettres cyrilliques majuscules en lettres cyrilliques miniscules.
nach oben • go top •
à partir de remplaçable par UPPER
F_RUPPER Compatible avec rFunc (RUPPER, LONGRUPPER)
seulement pour charset Win1251
Entrypoint rupper pas compatible UTF-8 – emploie U_UPPER
Entrée CSTRING(32760) Chaîne à transformer
Sortie CSTRING(32760) Tous les signes sont des lettres majuscules, y compris les lettres accentuées
Convertit toutes les lettres cyrilliques majuscules en lettres cyrilliques majuscules.
nach oben • go top •
Remarque préliminaire (voir http://fr.wikipedia.org/wiki/Transcription_du_russe_en_fran%C3%A7ais)
Il existe de nombreuses manières d'effectuer une transcription de l'alphabet cyrillique russe en français ou plus généralement dans l'alphabet latin. Bien que l'Organisation internationale de normalisation ait élaboré la norme ISO 9 qui, dans sa version de 1995 permet d'effectuer une translittération de nombreuses langues — dont le russe — utilisant des alphabets dérivés de l'alphabet cyrillique, les noms russes sont actuellement toujours retranscrits dans différentes langues selon des méthodes propres à chacune d'entre elles.
La transcription conventionnelle du russe en français est une translittération lettre à lettre, donnant pour chaque caractère russe un équivalent en français (à l'exception notamment du signe mou, voir tableau ci-dessous):
cyrillique А
а
Б
б
В
в
Ѓ
ѓ
Д
д
Ђ
ђ
Е
е
Ё
ё
Ж
ж
З
з
И
и
Й
й
К
к
Л
л
М
м
Н
н
О
о
П
п
Р
р
С
с
Т
т
Ќ
ќ
Ћ
ћ
У
у
Ў
ў
Ф
ф
Ц
ц
Ч
ч
Ш
ш
Ь
ь
Ѣ
ѣ
latin A
a
B
b
V
v
Ǵ
ǵ
D
d
Đ
đ
E
e
Ë
ë
Ž
ž
Z
z
I
i
J
j
K
k
L
l
M
m
N
n
O
o
P
p
R
r
S
s
T
t

Ć
ć
U
u
Ǔ
ŭ
F
f
C
c
Č
č
Š
š
Ě
ě
Pour des usages scientifiques on préfère les translittérations, de même dans les ouvrages de référence et les cartes géographiques, pour les médias on utilise la transcription.
  
F_RLATIN Compatible avec rFunc (RLATIN, LONGLATIN)
seulement pour charset Win1251
Entrypoint rlatin pas compatible UTF-8 – emploie U_CYRILLIC_LATIN
Entrée CSTRING(32760) Chaîne à transformer
Sortie CSTRING(32760) transfer des lettres en alphabet latin
Convertit les lettres cyrilliques en lettres latins par des méthodes de translittération.
Note:
Pour des raisons de compatibilité à rFunc  le remplacement suivant a été maintenu pour F_RLATIN:
cyrillique
Ё
ё
Є
є
Ї
ї
І
і
latin E
e
E
e
I
i
I
i
cyrillique А
а
Б
б
В
в
Ѓ
ѓ
Д
д
Ђ
ђ
Е
е
Ё
ё
Ж
ж
З
з
И
и
Й
й
К
к
Л
л
М
м
Н
н
О
о
П
п
Р
р
С
с
Т
т
Ќ
ќ
Ћ
ћ
У
у
Ў
ў
Ф
ф
Ц
ц
Ч
ч
Ш
ш
Ь
ь
Ѣ
ѣ
latin A
a
B
b
V
v
Ǵ
ǵ
D
d
Đ
đ
E
e
Ë
ë
Ž
ž
Z
z
I
i
J
j
K
k
L
l
M
m
N
n
O
o
P
p
R
r
S
s
T
t

Ć
ć
U
u
Ǔ
ŭ
F
f
C
c
Č
č
Š
š
_ Ě
ě
Converting is ONLY successful if database runs charset win1251.
nach oben • go top •
U_CYRILLIC_LATIN Fonction de adhoc
Entrypoint u_cyrillic_latin Compatibles UTF-8
Entrée CSTRING(8191) Chaîne à transformer
Sortie CSTRING(8191) transfer des lettres en alphabet latin
Remplace les caractères cyrilliques par des caractères latins selon la méthode de conversion de caractères d’après ISO 9.
À employer pour le russe, le bulgare, le serbo-croate, l’ukrainien et le biélorusse.
La transformation  fonctionne SEULEMENT si la base de données est établie avec le set de caractères UTF-8.
TestSQL
SELECT 'Aleksandr Solženicyn' AS ISCORRECT, U_CYRILLIC_LATIN('Александр Солженицын') FROM RDB$DATABASE
SELECT 'Mihail Gorbačëv' AS ISCORRECT, U_CYRILLIC_LATIN('Михаил Горбачёв') FROM RDB$DATABASE
SELECT 'Ruslana Ližičko' AS ISCORRECT, U_CYRILLIC_LATIN('Руслана Лижичко') FROM RDB$DATABASE
SELECT 'AaBbVvGgDdEeË뎞ZzIiJjKkLlMmNnOoPpRrSsTtUuFfHhCcČ芚ŜŝʺʺYyʹʹÈèÛûÂâ' AS ISCORRECT, U_CYRILLIC_LATIN('АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШ шЩщЪъЫыЬьЭэЮюЯя') FROM RDB$DATABASE
SELECT NULL AS ISCORRECT, F_CYRILLLIC_LATIN(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_PROPERCASE Compatible avec FreeUDFLib, FreeUDFLibC, FreeUDFLib AvERP, GrUDF
Entrypoint propercase pas compatible UTF-8 – emploie U_PROPERCASE
U_PROPERCASE Fonction de adhoc
Entrypoint u_propercase Compatibles UTF-8
Entrée CSTRING(32760) Chaîne à transformer
Sortie CSTRING(32760) Capitalise la chaîne: chaque mot commence par une lettre haut de casse alors que les autres sont bas de casse. 
Transforme également les lettres accentuées. Le signe «ß» allemand reste bien entendu inchangé.
TestSQL
SELECT 'Dies Ist Ein Test Äh' AS ISCORRECT, F_PROPERCASE('dies ist ein test äh') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_PROPERCASE(NULL) FROM RDB$DATABASE;
nach oben • go top •
à partir de remplaçable par ASCII_CHAR
F_CHARACTER
F_CHR
Compatible avec FreeUDFLib, FreeUDFLibC, FreeUDFLib AvERP
Compatible avec GrUDF
Entrée/Sortie compatibles avec rFunc (CHR)
Entrypoint character pas compatible UTF-8 – emploie U_CHR
U_CHR Fonction de adhoc
Entrypoint u_character Compatibles UTF-8
Entrée INTEGER ASCII-Code
Sortie CSTRING(2) Fournit le signe du code ASCII
TestSQL
SELECT 'B' AS ISCORRECT, F_CHARACTER(66) FROM RDB$DATABASE;
SELECT 'ä' AS ISCORRECT, F_CHARACTER(228) FROM RDB$DATABASE;
SELECT 'B' AS ISCORRECT, F_CHR(66) FROM RDB$DATABASE;
SELECT 'ä' AS ISCORRECT, F_CHR(228) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_CHARACTER(NULL) FROM RDB$DATABASE;
nach oben • go top •
à partir de remplaçable par ASCII_VAL
F_ORD Entrée/Sortie compatibles avec rFunc (ORD)
Entrypoint ord pas compatible UTF-8 – emploie U_ORD
U_ORD Fonction de adhoc
Entrypoint u_ord Compatibles UTF-8
Entrée CSTRING(1) Code du caractère
Sortie SMALLINT Fournit le caractère correspondant au code ASCII donné au paramètre 1
TestSQL
SELECT 65 AS ISCORRECT, F_ORD('A') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_ORD(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_ROT13 Fonction de adhoc
Entrypoint rot13 Compatibles UTF-8
Entrée CSTRING(254) Chaîne à encrypter
Sortie CSTRING(254) Encrypté selon l’algorithme ROT13
Selon Wikepedia (version française)
Le ROT13 («rotate by 13 places») est une variante du chiffrier de César aussi connu comme code de César (chiffrement par décalage). ROT13 utilise un décalage de 13 caractères de chaque lettre du texte à chiffrer. Le défaut de ce chiffrement est que s’il s’occupe des lettres, il ne s’occupe pas des chiffres, des symboles et de la ponctuation. C’est pourquoi on supprime du texte à chiffrer toute accentuation, et si on veut conserver un texte correctement chiffré, il est nécessaire d’écrire les nombres en toutes lettres.
L’avantage de ROT13, c’est le fait que le décalage soit de 13! L’alphabet comporte 26 lettres, et si on applique deux fois de suite le chiffrement, on obtient comme résultat le texte en clair. On considère ainsi l’alphabet comme circulaire, A succédant à Z, ce qui permet d’utiliser la même procédure pour le chiffrement et le déchiffrement.
ROT13 permet de ne pas faire apparaître un texte lisible et d’imposer au lecteur une opération pour obtenir le texte en clair.

TestSQL
SELECT F_ROT13(F_ROT13('Ceci n’est pas un bon chiffrement')), F_ROT13('Ceci n’est pas un bon chiffrement') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_ROT13(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_GENERATESNDXINDEX
F_SOUNDEX
Compatible avec FreeUDFLib, FreeUDFLib AvERP
Fonction de adhoc
Entrypoint soundex Compatibles UTF-8
Entrée CSTRING(8190) Chaîne
Sortie CSTRING(6) Construit le code original Soundex de la chaîne
Soundex est un code bâti par un algorithme phonétique et sert à indexer des mots et des phrases selon le son de la prononciation anglaise. Des mots sont ainsi classés selon le code produit rassemblant des mots différents de prononciation voisine.
À partir de la seconde position, seules les 6 premières consonnes sont prises en compte et une seule fois si plusieurs mêmes consonnes se suivent (selon l’exemple l, m, y, w, r, d). Cette codification ne permet pas la comparaison de longues chaînes de caractères.
TestSQL
SELECT 'H4564' AS ISCORRECT, F_GENERATESNDXINDEX('Hello my world') FROM RDB$DATABASE;
SELECT 'H4564' AS ISCORRECT, F_GENERATESNDXINDEX('Hello my world on my earth') FROM RDB$DATABASE;
SELECT 'H4564' AS ISCORRECT, F_SOUNDEX('Hello my world') FROM RDB$DATABASE;
SELECT 'H4564' AS ISCORRECT, F_SOUNDEX('Hello my world on my earth') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_SOUNDEX(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_GSOUNDEX Fonction de adhoc
Entrypoint gsoundex pas compatible UTF-8 – en cas de besoin, nous contacter
Entrée CSTRING(8190) Chaîne
Sortie CSTRING(8190) Construit le code Soundex allemand de la chaîne du paramètre 1. 
Peut servir à rechercher les doublons.
TestSQL
SELECT 'MAYR' AS ISCORRECT, F_GSOUNDEX('Meier'), F_GSOUNDEX('Maier'), F_GSOUNDEX('Mayer') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_GSOUNDEX(NULL), F_GSOUNDEX(NULL), F_GSOUNDEX(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_TELEFONNR Fonction de adhoc
Entrypoint telefonnr Compatibles UTF-8
Entrée CSTRING(32760) Paramètre 1 Chaîne comprenant un numéro de téléphone (ou quelque chose de semblable dont tout doit être enlevé vant les chiffres)
INTEGER Paramètre 2 définit le nombre de chiffres à la fin, qui doivent être remplacés par *
Sortie CSTRING(32760) Enlève tous les caractères non numériques ainsi que les espaces d’un numéro de téléphone
Si le numéro commence par "49", il commencera par "+49". Si le numéro donné commence par "+", ce signe sera conservé.
Remarque:
Cette fonction est conçue pour formater un numéro de téléphone mal adapté à la norme TAPI et le fournir à une installation téléphonique qui n’est pas équipée pour faire elle-même ce formatage.
TestSQL
SELECT '0232653***' AS ISCORRECT, F_TELEFONNR(' (0232) / 6535-35', 3) FROM RDB$DATABASE;
SELECT '+001232653***' AS ISCORRECT, F_TELEFONNR('+001 (232) / 6535-35', 3) FROM RDB$DATABASE;
SELECT '+49232653***' AS ISCORRECT, F_TELEFONNR('+49 (232) / 6535-35', 3) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_TELEFONNR(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_DIGITS Compatible  avec GrUDF
Entrypoint digits Compatibles UTF-8
Entrée CSTRING(32760) Chaîne 1
Sortie CSTRING(32760) Enlève tous les signes non numériques de la chaîne 1 (par exemple pour TAPI)
TestSQL
SELECT '0232653535' AS ISCORRECT, F_DIGITS(' (0232) / 6535-35') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_DIGITS(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_STR2EXCEL Fonction de adhoc
Entrypoint excelstring pas compatible UTF-8 – en cas de besoin, nous contacter
Entrée CSTRING(32760) Chaîne à transformer pour Excel
Sortie CSTRING(32760) Pour pouvoir exporter vers Excel du texte de plusieurs lignes ou du texte contenant des guillemets doubles hauts (") venant de longues chaînes, certaines adaptations sont nécessaires
Cette fonction agit dans ce sens. Elle:
- ajoute au début et à la fin de la chaîne un guillemet double haut (")
- redouble chaque guillemet double haut (") qui se trouvait dans le texte
- enlève tous les CHR(13) de la chaîne
- tronque la chaîne pour ne pas dépasser 32760 caractères (limite d’un champ dans Excel)
TestSQL
SELECT '"1.Zeile ""Paul"" und' || F_LF() || '2.Zeile"' AS ISCORRECT, F_STR2EXCEL('1.Zeile "Paul" und' || F_CRLF() || '2.Zeile') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_STR2EXCEL(NULL) FROM RDB$DATABASE;
Remarque:
Comme cela n’a pas de sens d’exporter vers Excel un (très) long texte venant d’une base de données, on doit tout d’abord le traiter avec les fonctions F_LEFT ou F_RIGHT pour rendre
l’opération possible. Par exemple:
SELECT F_RIGHT(F_STR2EXCEL(STRFeldAgenda), 1000) FROM ... exporte, par exemple, les derniers 1000 caractères d’un champ d’un agenda.
nach oben • go top •
F_RC Entrée/Sortie compatibles avec rFunc (C, LONGC)
Entrypoint r_c Compatibles UTF-8
Entrée CSTRING(254) Chaîne donnée
Sortie CSTRING(254) Si la chaîne donnée est <null>, fournit une chaîne vide, sinon la chaîne donnée
TestSQL
SELECT 'Leerstring/empty string' AS ISCORRECT, F_RC(UUIDCOMPR) FROM UUIDTEST WHERE UUIDTESTID = 5;
nach oben • go top •
F_FLOATOSTR Entrée/Sortie compatibles avec rFunc (FLOATTOSTR)
Entrypoint floattostr Compatibles UTF-8
Entrée DOUBLE
CSTRING(254)
Nombre à virgule flottante à représenter
Format de représentation donné sous forme de chaîne selon les conventions de la fonction C sprintf
Sortie CSTRING(254) Nombre formaté sous forme de chaîne
TestSQL
SELECT '1.350e+01' AS ISCORRECT, F_FLOATTOSTR(13.5, '%7.3e') FROM RDB$DATABASE;
SELECT '+13.500' AS ISCORRECT, F_FLOATTOSTR(13.5, '%+7.3f') FROM RDB$DATABASE;
SELECT '13.534' AS ISCORRECT, F_FLOATTOSTR(13.5345, '%.5g') FROM RDB$DATABASE;
SELECT '13.53450' AS ISCORRECT, F_FLOATTOSTR(13.5345, '%.5f') FROM RDB$DATABASE;
SELECT '0000D' AS ISCORRECT, F_FLOATTOSTR(13, '%05X') FROM RDB$DATABASE;
SELECT '0x0d' AS ISCORRECT, F_FLOATTOSTR(13, '%#04x') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_FLOATTOSTR(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_INTTOSTR Entrée/Sortie compatibles avec rFunc (INTTOSTR)
Entrypoint inttostr Compatibles UTF-8
Entrée INTEGER
CSTRING(254)
Nombre entier à représenter
Format de représentation donné sous forme de chaîne selon les conventions de la fonction C sprintf
Sortie CSTRING(254) Nombre formaté sous forme de chaîne
TestSQL
SELECT '0000000013' AS ISCORRECT, F_INTTOSTR(13, '%010d') FROM RDB$DATABASE;
SELECT '0xd' AS ISCORRECT, F_INTTOSTR(13, '%#x') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_INTTOSTR(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
 
Fonctions de chaînes : Comparaisons
F_EQUALSTRING Compatible avec FreeUDFLib AvERP, GrUDF
Entrypoint equalstring Compatibles UTF-8
Entrée CSTRING(8190)
CSTRING(8190)
Chaîne 1
Chaîne 2
Sortie INTEGER Vérifie si la chaîne 1 est égale à la chaîne 2 - 1 = est égale, 0 = pas égale
TestSQL
SELECT 1 AS ISCORRECT, F_EQUALSTRING('Pauline ist im Urlaub', 'Pauline ist im Urlaub') FROM RDB$DATABASE;
SELECT 0 AS ISCORRECT, F_EQUALSTRING('Pauline ist im Urlaub', 'Paul ist im Urlaub') FROM RDB$DATABASE;
En FireBird 2.0, si <null> est utilisé,  <null> est renvoyé; dans d'autres banques de données une chaîne NULL est identique à une chaine vide, ce qui donnerait 1 dans la requête ci-dessous.
SELECT NULL AS ISCORRECT, F_EQUALSTRING(NULL, '') FROM RDB$DATABASE;
nach oben • go top •
F_STRCMP Entrée/Sortie compatibles avec rFunc (STRCMP)
Entrypoint r_strcmp pas compatible UTF-8 – emploie U_STRCMP
U_STRCMP Fonction de adhoc
Entrypoint u_strcmp Compatibles UTF-8
Entrée CSTRING(8190)
CSTRING(8190)
Chaîne 1
Chaîne 2
Sortie INTEGER Sortie < 0 – si la chaîne 1 est plus courte que la chaîne 2
Sortie = 0 - si la chaîne 1 = la chaîne 2
Sortie > 0 - si la chaîne 1 est plus longue que la chaîne 2
Attention: dans la fonction STRCMP originale de rFunc la sortie positive ou négative est inversée par rapport à la fonction B_STRCMP. Dans le cas de la fonction de chaîne, une sortie positive indique que la première chaîne est plus longue, alors que pour la fonction BLOb c’est le second BLOb qui est plus long! Dans un souci de compatibilité, nous avons conservé ce comportement tel quel dans FreeAdhocUDF!
Sous Linux la valeur de la sortie est différente de celle sous Windows!
TestSQL
SELECT 0 AS ISCORRECT, F_STRCMP('Pauline ist im Urlaub', 'Pauline ist im Urlaub') FROM RDB$DATABASE;
SELECT 73 AS ISCORRECT, F_STRCMP('Pauline ist im Urlaub', 'Paul ist im Urlaub') FROM RDB$DATABASE;
SELECT -73 AS ISCORRECT, F_STRCMP('Paul ist im Urlaub', 'Pauline ist im Urlaub') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_STRCMP(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
 
Fonctions de chaînes : Recherches
F_FINDWORD  Compatible avec FreeUDFLib, FreeUDFLibC, FreeUDFLib AvERP
Entrypoint findword pas compatible UTF-8 – emploie U_FINDWORD
Entrée CSTRING(32760)
INTEGER
Chaîne dans laquelle une autre chaîne sera recherchée
Position à partir de laquelle la recherche doit commencer
Sortie CSTRING(254) Fournit un mot ou une partie de mot qui existe à la position spécifiée
U_FINDWORD Fonction de adhoc
Entrypoint u_findword Compatibles UTF-8
Entrée CSTRING(8191)
INTEGER
Chaîne dans laquelle une autre chaîne sera recherchée
Position à partir de laquelle la recherche doit commencer
Sortie CSTRING(255) Fournit un mot ou une partie de mot qui existe à la position spécifiée
L’origine de la position est ici 0, c’est-à-dire que la première position est 0 et que la fonction recherche le premier espace suivant.
Sous FireBird 2.0 si le paramètre 2 est négatif ou supérieur à la longueur du paramètre 1, la fonction renvoie NULL au lieu d'une chaîne vide ('').
TestSQL
SELECT 'ABC' AS ISCORRECT, F_FINDWORD('ABC 123 45678 9123', 0) FROM RDB$DATABASE;
SELECT 'BC' AS ISCORRECT, F_FINDWORD('ABC 123 45678 9123', 1) FROM RDB$DATABASE;
SELECT '123' AS ISCORRECT, F_FINDWORD('ABC 123 45678 9123', 3) FROM RDB$DATABASE;
SELECT '123' AS ISCORRECT, F_FINDWORD('ABC 123 45678 9123', 4) FROM RDB$DATABASE;
SELECT '' AS ISCORRECT, F_FINDWORD('ABC 123 45678 9123', 20) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_FINDWORD('ABC 123 45678 9123', 20) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_FINDWORD(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_WORDNUM Entrée/Sortie compatibles avec rFunc (WORDNUM, LONGWORDNUM)
Entrypoint wordnum pas compatible UTF-8 – en cas de besoin, nous contacter
Entrée CSTRING(32760)
INTEGER
CSTRING(31)
SMALLINT
Chaîne dans laquelle on recherche une partie de la chaîne donnée (un mot)
Numéro de la position du mot dans la chaîne
Caractère de séparation des mots
Sortie CSTRING(254) Le mot recherché
Le comptage pour parametre 2 commence à 1.
TestSQL
SELECT 'ABC' AS ISORRECT, F_WORDNUM('ABC 123 45678 9123', 1, ' ', 0) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_WORDNUM(NULL, NULL, NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_FINDNTHWORD  Compatible avec FreeUDFLib, FreeUDFLib AvERP
Entrypoint findnthword pas compatible UTF-8 – en cas de besoin, nous contacter
Entrée CSTRING(32760)
INTEGER
Chaîne dans laquelle on recherche une autre chaîne
Numéro d’ordre de la chaîne recherchée (numéro d’ordre du mot dans la chaîne donnée)
Sortie CSTRING(254) Fournit le ne mot.
Le comptage commence à 0
Dans FireBird 2.0, si le paramètre 2 est supérieur au nombre de mots de la chaîne donnée, la fonction renvoie <null> au lieu d'une chaîne vide ('').
TestSQL
SELECT 'ABC' AS ISCORRECT, F_FINDNTHWORD('ABC 123 45678 9123', 0) FROM RDB$DATABASE;
SELECT '123' AS ISCORRECT, F_FINDNTHWORD('ABC 123 45678 9123', 1) FROM RDB$DATABASE;
SELECT '' AS ISCORRECT, F_FINDNTHWORD('ABC 123 45678 9123', 5) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_FINDNTHWORD(NULL, NULL) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_FINDNTHWORD('ABC 123 45678 9123', 5) FROM RDB$DATABASE;
nach oben • go top •
F_FINDWORDINDEX Compatible avec FreeUDFLib, FreeUDFLibC, FreeUDFLib AvERP
Entrypoint findwordindex pas compatible UTF-8 – en cas de besoin, nous contacter
Entrée CSTRING(32760)
INTEGER
Chaîne
pour vérifier la longueur de la chaîne
Sortie INTEGER Cherchez l’endroit indiqué au paramètre 2 dans la chaîne. Si cet endroit existe dans la chaîne, le résultat est cet endroit; si cet endroit n’est pas dans la chaîne le résultat est –1
Le comptage commence à 0.
TestSQL
SELECT 12 AS ISCORRECT, F_FINDWORDINDEX('Geburtstagsparty', 12) FROM RDB$DATABASE;
SELECT -1 AS ISCORRECT, F_FINDWORDINDEX('Geburtstagsparty', 16) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_FINDWORDINDEX(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_FINDWORDINDEXN
(F_FINDWORDINDEX)
Fonction de adhoc
Entrypoint findwordindexnull pas compatible UTF-8 – en cas de besoin, nous contacter
Entrée CSTRING(32760)
INTEGER
Chaîne 
pour vérifier la longueur de la chaîne
Sortie INTEGER Cherchez l’endroit indiqué au paramètre 2 dans la chaîne. Si cet endroit existe dans la chaîne, le résultat est cet endroit; si cet endroit n’est pas dans la chaîne le résultat est <null>.
Le comptage commence à 0. La variante FireBird 2.0 de F_FINDWORDINDEX fournit <null> au lieu de -1.
TestSQL
SELECT  NULL AS ISCORRECT, F_FINDWORDINDEXN('Geburtstagsparty', 16) FROM RDB$DATABASE;
nach oben • go top •
à partir de remplaçable par CHARACTER_LENGTH ou CHAR_LENGTH
F_STRINGLENGTH (..4, ..8, ..32)
F_BIGSTRINGLENGTH
Compatible avec FreeUDFLib, FreeUDFLibC, FreeUDFLib AvERP, GrUDF
Entrée/Sortie compatibles avec rFunc (STRLEN)
Entrypoint stringlength pas compatible UTF-8 – emploie U_STRINGLENGTH
U_STRINGLENGTH (..4, ..8, ..32)
Fonction de adhoc
Entrypoint u_stringlength Compatibles UTF-8
Entrée CSTRING(32760) Chaîne dont on recherche la longueur
Sortie INTEGER Recherche la longueur d’une chaîne, en prenant en compte les espaces éventuels à la fin
F_STRINGLENGTH et F_BIGSTRINGLENGTH ne peuvent être utilisées dans la même requête SQL.
TestSQL
SELECT 17 AS ISCORRECT, F_STRINGLENGTH('Dies ist ein Test') FROM RDB$DATABASE;
SELECT 19 AS ISCORRECT, F_STRINGLENGTH('Dies ist ein Test  ') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_STRINGLENGTH(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_STRINGLISTITEM Compatible avec GrUDF
Entrypoint stringlistitem Compatibles UTF-8
Entrée CSTRING(32760)
CSTRING(254)
Liste de chaînes au format "n=…", "m=…", etc.
Valeur recherchée dans la liste
Sortie CSTRING(1024) Recherche dans une chaîne de caractères, construite sous la forme d’une liste (NAME=Value), la ligne NAME=Value correspondant au nom donné
TestSQL
SELECT '2=gelb' AS ISCORRECT, F_STRINGLISTITEM('"1=blau","2=gelb","3=grün","4=rot"', '2') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_STRINGLISTITEM(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_WORDCOUNT Fonction de adhoc
Entrypoint wordcount Compatibles UTF-8
Entrée CSTRING(32760) Chaîne dont on veut compter les mots
Sortie INTEGER Compte les mots d’une chaîne de caractères
Un mot se termine par un ou plusieurs espaces, par un tabulateur (TAB) ou par un retour chariot (CRLF).
TestSQL
SELECT 4 AS ISCORRECT, F_WORDCOUNT('ABC 123 45678 9123') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_WORDCOUNT(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_RWORDCOUNT Entrée/Sortie compatibles avec rFunc (WORDCOUNT)
Entrypoint r_wordcount pas compatible UTF-8 – emploie F_WORDCOUNT
Entrée CSTRING(32760)
CSTRING(31)
SMALLINT
Chaîne dont on veut compter les mots
Caractère de séparation des mots
Sortie INTEGER Compte les mots d’une chaîne de caractères
TestSQL
SELECT 4 AS ISCORRECT, F_RWORDCOUNT('ABC 123 45678 9123', ' ', 0) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_RWORDCOUNT(NULL, NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_STRINGCOUNT Fonction de adhoc, similaire en rfunc (paramètres échangés)
Entrypoint stringcount Compatibles UTF-8
Entrée CSTRING(32760)
 
CSTRING(254)
Chaîne dans laquelle on recherche le nombre de fois que la chaîne du paramètre 2 s’y trouve
Chaîne à rechercher dans la chaîne 1
Sortie INTEGER Compte le nombre de fois que la chaîne 2 se trouve dans la chaîne 1
F_RSTRINGCOUNT Entrée/Sortie compatibles avec rFunc (STRCOUNT)
Entrypoint r_stringcount Compatibles UTF-8
Entrée CSTRING(254)
CSTRING(32760)
Chaîne à rechercher dans la chaîne 2
Chaîne dans laquelle on recherche le nombre de fois que la chaîne du paramètre 1 s’y trouve
Sortie INTEGER Compte le nombre de fois que la chaîne 1 se trouve dans la chaîne 2
TestSQL
SELECT 2 AS ISCORRECT, F_STRINGCOUNT('ABC 123 45678 9123', '123') FROM RDB$DATABASE;
SELECT 0 AS ISCORRECT, F_STRINGCOUNT('ABC 123 45678 9123', 'EFG') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_STRINGCOUNT(NULL, NULL) FROM RDB$DATABASE;
SELECT 2 AS ISCORRECT, F_STRINGCOUNT( 'ABC 123 45678 9123', '123'), F_RSTRINGCOUNT('123', 'ABC 123 45678 9123') FROM RDB$DATABASE;
SELECT 0 AS ISCORRECT, F_STRINGCOUNT( 'ABC 123 45678 9123', 'EFG'), F_RSTRINGCOUNT('EFG', 'ABC 123 45678 9123') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_RSTRINGCOUNT(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_DOMAINFROMEMAIL Fonction de adhoc
Entrypoint domainfromemail Compatibles UTF-8
Entrée CSTRING(254) Adresse de courriel (e-mail)
Sortie CSTRING(254) Nom de domaine extrait de l’adresse
TestSQL
SELECT 'adhoc-data.de' AS ISCORRECT, F_DOMAINFROMEMAIL('udf@adhoc-data.de') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_DOMAINFROMEMAIL(NULL) FROM RDB$DATABASE;
vorige Seite • previous page • passée sitenach oben • go top • vers le hautnächste Seite • next page • prochain site