FreeAdhocUDF pour InterBase et FireBird in deutschin englishen françaisen españolin italianoa português
homeprevious pagecontentnext pagelast page Seite empfehlen • advice website • Mailing-Liste • mailinglist • liste de diffusionwas ich vermisse • what I missed •eMail Kommentar • eMail commentprintsitemap
Fonctions numériques 72 fonctions
Utilitaires 4 fonctions
Formatages 11 fonctions
Calculs 20 fonctions
Comparaisons 4 fonctions
Binaire 8 fonctions
Trigonométrie 25 fonctions
á 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 numériques: Utilitaires
F_RAND Entrée/Sortie compatibles avec ib_udf
remplaçable par RAND
Entrypoint f_rand
Entrée sans

Sortie DOUBLE un nombre entier aléatoire compris entre les valeurs des 0 et 1
Grâce à l’initialisation par l’horloge système et le processeur, il est exclu que deux appels à la fonction endéans une seconde puisse fournir le même nombre aléatoire.
TestSQL
SELECT F_RAND() FROM RDB$DATABASE;
nach oben • go top •
F_INTRANDOM Fonction de adhoc
Entrypoint intrandom
Entrée INTEGER
INTEGER
Paramètre 1 valeur minimum du nombre aléatoire
Paramètre 2 valeur maximum du nombre aléatoire
Sortie INTEGER un nombre entier aléatoire compris entre les valeurs des paramètres 1 et 2
Grâce à l’initialisation par l’horloge système et le processeur, il est exclu que deux appels à la fonction endéans une seconde puisse fournir le même nombre aléatoire.
TestSQL
SELECT F_INTRANDOM(100, 10000) FROM RDB$DATABASE;
SELECT F_INTRANDOM(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_GETRANDOM Entrée/Sortie compatibles avec rFunc (GETRANDOM)
Entrypoint getrandom
Entrée INTEGER
valeur maximum du nombre aléatoire
Sortie INTEGER un nombre entier aléatoire compris entre les valeurs 0 et des paramètres 1
Grâce à l’initialisation par l’horloge système et le processeur, il est exclu que deux appels à la fonction endéans une seconde puisse fournir le même nombre aléatoire.
TestSQL
SELECT F_GETRANDOM(10000) FROM RDB$DATABASE;
SELECT F_GETRANDOM(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_DOUBLERANDOM Fonction de adhoc
Entrypoint doublerandom
Entrée INTEGER
INTEGER
Paramètre 1 valeur minimum du nombre aléatoire
Paramètre 2 valeur maximum du nombre aléatoire
Sortie DOUBLE un nombre entier aléatoire compris entre les valeurs des paramètres 1 et 2
Grâce à l’initialisation par l’horloge système et le processeur, il est exclu que deux appels à la fonction endéans une seconde puisse fournir le même nombre aléatoire.
TestSQL
SELECT F_DOUBLERANDOM(100, 10000) FROM RDB$DATABASE;
SELECT F_DOUBLERANDOM(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
 
Fonctions numériques: Formatages
F_ROUND Entrée/Sortie compatibles avec FreeUDFLibC
Entrypoint f_round
Entrée DOUBLE Nombre en virgule flottante à convertir en valeur entière
Sortie INTEGER Arrondit un nombre en virgule flottante en un nombre entier
Méthode courante pour arrondir a F_ZAHLRUNDEN.
Par suite de conflits de noms avec une fonction C, le point d’entrée (Entrypoint) a été modifié de round à f_round. Ce qui a pour effet de supprimer la compatibilité du point d’entrée avec FreeUDFLibC.
TestSQL
SELECT 16 AS ISCORRECT, F_ROUND(15.567) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_ROUND(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_ROUNDFLOAT Compatible avec FreeUDFLib, FreeUDFLib AvERP
Entrypoint roundfloat
Entrée DOUBLE
DOUBLE
nombre en virgule flottante à arrondir
Modèle montarnt le format du nombre à virgule flottante (par exemple 0.01); arrondit au multiple suivant du 2e paramètre
Sortie DOUBLE Arrondit un nombre en virgule flottante
TestSQL
SELECT 15.55 AS ISCORRECT, F_ROUNDFLOAT(15.567, 0.05) FROM RDB$DATABASE;
SELECT 15.56 AS ISCORRECT, F_ROUNDFLOAT(15.567, 0.02) FROM RDB$DATABASE;
SELECT 15.57 AS ISCORRECT, F_ROUNDFLOAT(15.567, 0.01) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_ROUNDFLOAT(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_ZAHLRUNDEN
F_ROUNDCOMMON
Compatible avec FreeUDFLib AvERP, GrUDF
Entrée/Sortie compatibles avec rFunc (ROUND)
remplaçable par ROUND
Entrypoint zahlrunden
Entrée DOUBLE
INTEGER
valeur à arrondir
Nombre de chiffres décimaux pour l’arrondi
Sortie DOUBLE Arrondit le nombre à virgule flottante en fonction du nombre de chiffres décimaux spécifié au paramètre 2
Méthode courante pour arrondir (selon Wikipedia http://fr.wikipedia.org/wiki/Arrondi):
Cette méthode est généralement employée, par exemple en comptabilité, par les scientifiques ou en convertissant des devises. Donnons ici les étapes de cette méthode
    * choisir le chiffre qui sera le dernier à conserver.
    * augmenter ce chiffre d'une unité si le chiffre suivant vaut au moins 5 (ceci s'appelle arrondissage par excès)
    * le laisser identique si le chiffre suivant est strictement inférieur à 5 (cela s'appelle l'arrondissage par défaut)
Exemple: 3,046 peut être arrondi aux centièmes en 3,05 (parce que le chiffre suivant (6) est supérieur à 5).
Autres exemples en ne gardant qu'un seul chiffre après la virgule :
    * 1,349 devient 1,3 (car le chiffre suivant 3 est strictement inférieur à 5)
    * 1,350 devient 1,4 (car le chiffre suivant 3 vaut au moins 5)
Les nombres négatifs sont traités selon leur montant:
    * –2,1349 devient –2,13 €
    * –2,1350 devient –2,14 €
En fait la méthode consiste à séparer les dix chiffres décimaux ( 0, 1 ... 9 ) en deux parties :
    * les 5 premiers : 0, 1, 2, 3 et 4 pour lesquels on passe à la valeur inférieure
    * les 5 suivants : 5, 6, 7, 8 et 9 pour lesquels on passe à la valeur supérieure
Cette méthode limite l'accumulation d'erreurs lors de calculs successifs.
TestSQL
SELECT 14.5 AS ISCORRECT, F_ZAHLRUNDEN(14.4935, 1) FROM RDB$DATABASE;
SELECT 14.49 AS ISCORRECT, F_ZAHLRUNDEN(14.4935, 2) FROM RDB$DATABASE;
SELECT 14.494 AS ISCORRECT, F_ZAHLRUNDEN(14.4935, 3) FROM RDB$DATABASE;
SELECT -14.494 AS ISCORRECT, F_ZAHLRUNDEN(-14.4935, 3) FROM RDB$DATABASE;
SELECT 14.494 AS ISCORRECT, F_ZAHLRUNDEN(14.4936, 3) FROM RDB$DATABASE;
SELECT 14.4935 AS ISCORRECT, F_ZAHLRUNDEN(14.4935, 6) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_ZAHLRUNDEN(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_ROUNDTOEVEN Fonction de adhoc
Entrypoint roundtoeven
Input DOUBLE
INTEGER
valeur à arrondir
Nombre de chiffres décimaux pour l’arrondi
Output DOUBLE Arrondit le nombre à virgule flottante en fonction du nombre de chiffres décimaux spécifié au paramètre 2
Méthode d'arrondissage des statisticiens (selon Wikipedia http://fr.wikipedia.org/wiki/Arrondi):
Si quatre (ou un chiffre inférieur) est le chiffre qui suit la décimale à laquelle le nombre doit être arrondi, alors la décimale reste inchangée. Alors que si le chiffre suivant la décimale est six ou plus, la décimale est augmentée d'une unité. Enfin si le chiffre suivant est le chiffre cinq lui-même suivi par des chiffres différents de zéro, alors la décimale sera augmenté d'une unité, tandis que si cinq n'est suivi d'aucun chiffre (ou que par des zéros) alors la décimale est augmentée d'une unité lorsqu'elle est impaire et reste inchangée sinon. Cette méthode est parfois appelée « arrondi au chiffre pair » et est employée afin d'éliminer le biais qui surviendrait en arrondissant à chaque fois par excès les nombres dont le dernier chiffre est cinq.
Exemples:
    * 3,046 arrondis aux centièmes devient 3,05 (parce que le chiffre suivant (6) est supérieur à 6)
    * 3,043 arrondis aux centièmes devient 3,04 ( parce que le chiffre suivant (3) est inférieur à 4)
    * 3,045 arrondis aux centièmes devient 3,04 (parce que le dernier chiffre est 5, et le chiffre précédent (4) est pair)
    * 3,015 arrondis aux centièmes devient 3,02 (parce que le dernier chiffre est 5, et le chiffre précédent (1) est impair)
Les nombres négatifs sont traités selon leur montant:
    * −2,35 devient −2,4
    * −2,45 (exacte) devient −2,4
    * −2,4500001 devient −2,5
    * −2,46 devient −2,5
    * −2,449 devient −2,5
Pour un arrondissage à l'entier le plus proche, voyez la fonction partie entière.
TestSQL
SELECT 3.02 AS ISCORRECT, F_ROUNDTOEVEN(3.016, 2) FROM RDB$DATABASE;
SELECT 3.01 AS ISCORRECT, F_ROUNDTOEVEN(3.013, 2) FROM RDB$DATABASE;
SELECT 3.02 AS ISCORRECT, F_ROUNDTOEVEN(3.015, 2) FROM RDB$DATABASE;
SELECT 3.04 AS ISCORRECT, F_ROUNDTOEVEN(3.045, 2) FROM RDB$DATABASE;
SELECT 3.05 AS ISCORRECT, F_ROUNDTOEVEN(3.04501, 2) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_ROUNDTOEVEN(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_SOFTROUND Entrée/Sortie compatibles avec rFunc (SOFTROUND)
Entrypoint softround
Entrée DOUBLE
INTEGER
nombre en virgule flottante à arrondir
Nombre de chiffres décimaux pour l’arrondi
Sortie INTEGER pour une valeur entière, nombre à virgule flottante arrondi
Méthode courante pour arrondir a F_ZAHLRUNDEN.
Au cas où l’arrondi donnerait 0, la valeur renvoyée est la valeur non arrondie.
TestSQL
SELECT 0.0016 AS ISCORRECT, F_SOFTROUND(0.0016, 2), F_ZAHLRUNDEN(0.0016, 2) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_SOFTROUND(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_FIXEDPOINT Compatible avec FreeUDFLib, FreeUDFLibC, FreeUDFLib AvERP
Entrypoint fixedpoint
Entrée DOUBLE
INTEGER
nombre en virgule flottante à arrondir
Nombre de chiffres décimaux du nombre arrondi
Sortie CSTRING(32) Arrondit un nombre en virgule flottante avec un nombre de décimales spécifiée au paramètre 2
Méthode d'arrondissage des statisticiens a F_ROUNDTOEVEN.
Contrairement à F_ZAHLRUNDEN le résultat est ici sous forme de chaîne!
Dans la chaîne obtenue en sortie, le séparateur décimal est “.”.
TestSQL
SELECT '12345.5' AS ISCORRECT, F_FIXEDPOINT(12345.46, 1) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_FIXEDPOINT(NULL, NULL) FROM RDB$DATABASE;   
nach oben • go top •
F_FIXEDPOINTLANG Fonction de adhoc
Entrypoint fixedpointlang
Entrée DOUBLE
INTEGER
CSTRING(1)
CSTRING(1)
nombre en virgule flottante à arrondir
Nombre de chiffres décimaux pour arrondir
Signe de séparateur décimal
Signe de séparateur de milliers
Sortie CSTRING(32) Arrondit le nombre en virgule flottante en tenant compte de nombre de chiffres décimaux du paramètre 2 et des séparateurs (décimal et milliers) définis en paramètres 3 et 4
Méthode courante pour arrondir a F_ZAHLRUNDEN.
TestSQL
SELECT '12.345,5' AS ISCORRECT, F_FIXEDPOINTLANG(12345.46, 1, ',', '.') FROM RDB$DATABASE;
SELECT '12.345' AS ISCORRECT, F_FIXEDPOINTLANG(12345.46, 0, ',', '.') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_FIXEDPOINTLANG(NULL, NULL, NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_TRUNCATE Compatible avec FreeUDFLib, FreeUDFLibC, FreeUDFLib AvERP, GrUDF
remplaçable par TRUNC
Entrypoint f_truncate
Entrée DOUBLE nombre à virgule flottante à tronquer
Sortie INTEGER Supprime la partie décimale d’un nombre à virgule flottante
TestSQL
SELECT 15 AS ISCORRECT, F_TRUNCATE(15.567) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_TRUNCATE(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_DOLLARVAL
F_CONVERTTODOLLAR
Compatible avec FreeUDFLib, FreeUDFLib AvERP
Compatible avec FreeUDFLibC
Entrypoint dollarval
Entrée DOUBLE Valeur en virgule flottante
Sortie CSTRING(32) Convertit une valeur en virgule flottante en une valeur en dollars (arrondie à 2 décimales)
TestSQL
SELECT '$15.68' AS ISCORRECT, F_CONVERTTODOLLAR(15.678) FROM RDB$DATABASE;
SELECT '$15.68' AS ISCORRECT, F_DOLLARVAL(15.678) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_DOLLARVAL(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_EUROVAL Fonction de adhoc
Entrypoint euroval
Entrée DOUBLE Valeur en virgule flottante
Sortie CSTRING(32) Valeur en euros (EUR à la suite du nombre) (arrondie à 2 décimales)
SELECT '15.47 EUR' AS ISCORRECT, F_EUROVAL(15.47) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_EUROVAL(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_NUMINWORDS Fonction de adhoc
Entrypoint numinwords
Input DOUBLE Valeur en virgule flottante
SMALLINT Nombre de chiffres décimaux (no arrondie)
CSTRING(2) Indicatif de la langue pour le résultat
Output CSTRING(32) virgule flottante dans la langue choisie
Indicatif de la langue: de = allemand, uk = anglais, fr = français, es = espagnol, it = italien
TestSQL
SELECT '***eins-vier-fünf***' AS ISCORRECT, F_NUMINWORDS(145, 0, 'de') FROM RDB$DATABASE;
SELECT '***eins-vier-fünf-Komma-drei-zwei***' AS ISCORRECT, F_NUMINWORDS(145.32, 2, 'de') FROM RDB$DATABASE;
SELECT '***eins-vier-fünf-Komma-drei-zwei-null-null***' AS ISCORRECT, F_NUMINWORDS(145.32, 4, 'de') FROM RDB$DATABASE;
SELECT '***one-four-five-point-three-two***' AS ISCORRECT, F_NUMINWORDS(145.32, 2, 'uk') FROM RDB$DATABASE;
SELECT '***un-quatre-cinq-virgule-trois-deux***' AS ISCORRECT, F_NUMINWORDS(145.32, 2, 'fr') FROM RDB$DATABASE;
SELECT '***uno-cuatro-cinco-coma-tres-dos***' AS ISCORRECT, F_NUMINWORDS(145.32, 2, 'es') FROM RDB$DATABASE;
SELECT '***uno-quattro-cinque-virgola-tre-due***' AS ISCORRECT, F_NUMINWORDS(145.32, 2, 'it') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_NUMINWORDS(NULL, NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
 
Fonctions numériques: Calculs
F_DOUBLEABS
F_ABS
Compatible avec FreeUDFLib, FreeUDFLibC, FreeUDFLib AvERP
Compatible avec GrUDF
Entrée/Sortie compatibles avec rFunc (ABS)
remplaçable par ABS
Entrypoint doubleabs
Entrée DOUBLE Nombre à virgule flottante entrant dans le calcul
Sortie DOUBLE Calcule la valeur absolue (valeur positive) d’un nombre à virgule flottante
TestSQL
SELECT 15.678 AS ISCORRECT, F_DOUBLEABS(15.678) FROM RDB$DATABASE;
SELECT 15.678 AS ISCORRECT, F_DOUBLEABS(-15.678) FROM RDB$DATABASE;
SELECT 15.678 AS ISCORRECT, F_ABS(15.678) FROM RDB$DATABASE;
SELECT 15.678 AS ISCORRECT, F_ABS(-15.678) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_ABS(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_INTEGERABS Compatible avec FreeUDFLibC
remplaçable par ABS
Entrypoint integerabs
Entrée INTEGER Nombre entier à traiter
Sortie INTEGER Calcule la valeur absolue (valeur positive) d’un nombre entier
TestSQL
SELECT 15 AS ISCORRECT, F_INTEGERABS(15) FROM RDB$DATABASE;
SELECT 15 AS ISCORRECT, F_INTEGERABS(-15) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_INTEGERABS(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_POWER Entrée/Sortie compatibles avec fbudf (POWER)
Entrée/Sortie compatibles avec
 rFunc (POWER)
remplaçable par POWER
Entrypoint f_power
Entrée DOUBLE
Nombre à élever au carré
DOUBLE Exposant
Sortie DOUBLE Valeur du paramètre 1 élevée à la puissance du paramètre 2
TestSQL
SELECT 8.0 AS ISCORRECT, F_POWER(2, 3) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_POWER(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_EXP Compatible avec GrUDF
Entrée/Sortie compatibles avec rFunc (EXP) 
remplaçable par EXP
Entrypoint f_exp
Entrée DOUBLE
Valeur à virgule flottante
Sortie DOUBLE Nombre à la puissance e
TestSQL
SELECT 7.38905609893065 AS ISCORRECT, F_EXP(2), F_POWER(F_E(), 2) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_EXP(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_SQRT Entrée/Sortie compatibles avec udflib, ib_udf
Entrée/Sortie compatibles avec rFunc (SQRT)
remplaçable par SQRT
Entrypoint f_sqrt
Entrée DOUBLE
Produit la racine carrée du nombre
Sortie DOUBLE Racine carrée du nombre
TestSQL
SELECT 3 AS ISCORRECT, F_SQRT(9) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_SQRT(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_FACT
F_FACTORIAL
Fonction de adhoc
Compatible avec GrUDF
Entrypoint fact
Entrée INTEGER Nombre entier dont on demande la factorielle
Sortie DOUBLE Calcule la factorielle (le produit de tous les nombres naturels de 1 à l’argument)
TestSQL
SELECT 6.000 AS ISCORRECT, F_FACT(3) FROM RDB$DATABASE;
SELECT 6.000 AS ISCORRECT, F_FACTORIAL(3) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_FACT(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_MODULO Compatible avec FreeUDFLib, FreeUDFLibC, FreeUDFLib AvERP, GrUDF
Entrée/Sortie compatibles avec rFunc (MOD)
remplaçable par MODULO
Entrypoint modulo
Entrée INTEGER
INTEGER
Dividende (le nombre à diviser)
Diviseur (le nombre par lequel on divise)
Sortie INTEGER Fournit le Modulo (reste de la division de deux nombres entiers) du paramètre 1 par le paramètre 2
TestSQL
SELECT 2 AS ISCORRECT, F_MODULO(5, 3) FROM RDB$DATABASE;
SELECT 0 AS ISCORRECT, F_MODULO(6, 3) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_MODULO(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_DIV Entrée/Sortie compatibles avec rFunc (DIV)
Entrypoint r_div
Entrée INTEGER
INTEGER
Dividende (le nombre à diviser)
Diviseur (le nombre par lequel on divise)
Sortie INTEGER Fournit le Modulo (reste de la division de deux nombres entiers) du paramètre 1 par le paramètre 2
TestSQL
SELECT 2 AS ISCORRECT, F_MODULO(5, 3) FROM RDB$DATABASE;
SELECT 0 AS ISCORRECT, F_MODULO(6, 3) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_MODULO(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_FLOOR Entrée/Sortie compatibles avec ib_udf
Entrée/Sortie compatibles avec rFunc (FLOOR)
remplaçable par FLOOR
Entrypoint f_floor
Entrée DOUBLE
Valeur à virgule flottante
Sortie DOUBLE le plus grand nombre entier plus petit ou égal au nombre décimal donné
On remarque la différence avec F_CEILING et F_TRUNCATE
TestSQL
SELECT 3.0 AS ISCORRECT, F_FLOOR(3.85), F_CEILING(3.85),F_TRUNCATE(3.85) FROM RDB$DATABASE;
SELECT -4.0 AS ISCORRECT, F_FLOOR(-3.85), F_CEILING(-3.85),F_TRUNCATE(-3.85) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_FLOOR(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_CEILING Entrée/Sortie compatibles avec ib_udf
Entrée/Sortie compatibles avec rFunc (CEIL)
remplaçable par CEILING
Entrypoint f_ceiling
Entrée DOUBLE
Valeur à virgule flottante
Sortie DOUBLE le plus petit nombre entier plus grand ou égal au nombre décimal donné
On remarque la différence avec F_CEILING et F_TRUNCATE
TestSQL
s. F_FLOOR
SELECT NULL AS ISCORRECT, F_CEILING(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_FRAC Entrée/Sortie compatibles avec ib_udf
Entrypoint f_frac
Entrée DOUBLE
Valeur à virgule flottante
Sortie DOUBLE fournit la partie décimale d’un nombre décimal
TestSQL
SELECT 0.12345 AS ISCORRECT, F_FRAC(15.12345) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_FRAC(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_LN Entrée/Sortie compatibles avec ib_udf
Entrée/Sortie compatibles avec rFunc (LN)
remplaçable par LN
Entrypoint f_ln
Entrée DOUBLE
Valeur à virgule flottante
Sortie DOUBLE logarithme naturel (logarithme de base e) du nombre décimal
TestSQL
SELECT 0.693147180559945 AS ISCORRECT, F_LN(2) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_LN(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_LOG Entrée/Sortie compatibles avec ib_udf
Entrée/Sortie compatibles avec rFunc (LOG)
remplaçable par LOG
Entrypoint f_log
Entrée DOUBLE
Valeur à virgule flottante
DOUBLE Base du logarithme comme nombre décimal
Sortie DOUBLE Logarithme du nombre décimal à la base du paramètre 2
TestSQL
SELECT 0.301029995663981 AS ISCORRECT, F_LOG(2, 10), F_LOG10(2) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_LOG(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_LOG10 Entrée/Sortie compatibles avec ib_udf
Entrée/Sortie compatibles avec rFunc (LOG10)
remplaçable par LOG10
Entrypoint f_log10
Entrée DOUBLE
Valeur à virgule flottante
Sortie DOUBLE Logarithme du nombre décimal à la base 10
TestSQL
SELECT 0.301029995663981 AS ISCORRECT, F_LOG10(2) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_LOG10(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_ISDIVISIBLEBY Compatible avec FreeUDFLib, FreeUDFLib AvERP
Entrypoint isdivisibleby
Entrée INTEGER
INTEGER
Dividende (le nombre à diviser)
Diviseur (le nombre par lequel on divise)
Sortie INTEGER Les nombres sont divisibles = 1, ou non divisibles = 0
TestSQL
SELECT 1 AS ISCORRECT, F_ISDIVISIBLEBY(15, 3) FROM RDB$DATABASE;
SELECT 0 AS ISCORRECT, F_ISDIVISIBLEBY(15, 4) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_ISDIVISIBLEBY(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_EVEN Fonction de adhoc
Entrypoint evenodd
Entrée INTEGER Nombre à tester
Sortie INTEGER

Le résultat est pair = 1, est impair = 0

Si un paramètre est, par erreur, donné au format DOUBLE, il est d’abord converti en INT avant d’être testé!
TestSQL
SELECT 1 AS ISCORRECT, F_EVEN(2) FROM RDB$DATABASE;
SELECT 0 AS ISCORRECT, F_EVEN(3) FROM RDB$DATABASE;
SELECT 1 AS ISCORRECT, F_EVEN(0) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_EVEN(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_SIGN Entrée/Sortie compatibles avec ib_udf
Entrée/Sortie compatibles avec rFunc (SIGN)
remplaçable par SIGN
Entrypoint f_sign
Entrée DOUBLE
Valeur à virgule flottante
Sortie DOUBLE Signe du nombre décimal 1 = positif, 0 = 0, –1 = négatif
TestSQL
SELECT 1 AS ISCORRECT, F_SIGN(3) FROM RDB$DATABASE;
SELECT -1 AS ISCORRECT, F_SIGN(-3) FROM RDB$DATABASE;
SELECT 0 AS ISCORRECT, F_SIGN(0) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_SIGN(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_PROZENTE Compatible zu FreeUDFLib AvERP, GrUDF
Entrypoint prozente
Entrée DOUBLE
DOUBLE
Nombre à virgule flottante 1
Nombre à virgule flottante 2
Sortie DOUBLE combien de % du 2e par rapport au 1er
par exemple Prix de vente par rapport au Prix d’achat
Test-SQL
SELECT 14.000 AS ISCORRECT, F_PROZENTE(100.00, 14.0) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_PROZENTE(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_Z Entrée/Sortie compatibles avec rFunc (Z)
Entrypoint r_z Output RETURN méchanismes BY VALUE
Entrée DOUBLE
Nombre à virgule flottante
Sortie DOUBLE si entrée <null> sortie 0 autrement entrée
Test-SQL
SELECT 14.000 AS ISCORRECT, F_Z(14.0) FROM RDB$DATABASE;
SELECT 0 AS ISCORRECT, F_Z(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_DZERO Entrée/Sortie compatibles avec rFunc (DZERO)
Entrypoint r_dzero Output RETURN méchanisme BY VALUE
Entrée DOUBLE
DOUBLE
DOUBLE
Dividende (le nombre à diviser)
Diviseur (le nombre par lequel on divise)
valeur division si diviseur 0
Sortie DOUBLE si diviseur 0 sortie paramètre 3 autrement paramètre 1 divisé par paramètre 2
Test-SQL
SELECT 14.000 AS ISCORRECT, F_DZERO(15.5, 0.0, 14.0) FROM RDB$DATABASE;
nach oben • go top •
 
Fonctions numériques: Comparaisons
F_MAXNUM
 
F_MAX
Fonction de adhoc
Entrée/Sortie compatibles avec rFunc (MAXNUM)
Compatible avec GrUDF
remplaçable par MAX
Entrypoint maxnum
Entrée DOUBLE
DOUBLE
Nombre à virgule flottante 1
Nombre à virgule flottante 2
Sortie DOUBLE Renvoie le plus grand des deux nombres à virgule flottante
TestSQL
SELECT 15.346 AS ISCORRECT, F_MAXNUM(15.345, 15.346) FROM RDB$DATABASE;
SELECT 15.346 AS ISCORRECT, F_MAX(15.345, 15.346) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_MAX(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_MINNUM
 
F_MIN
Fonction de adhoc
Entrée/Sortie compatibles avec rFunc (MINNUM)
Compatible avec GrUDF
remplaçable par MIN
Entrypoint minnum
Entrée DOUBLE
DOUBLE
Nombre à virgule flottante 1
Nombre à virgule flottante 2
Sortie DOUBLE Renvoie le plus petit des deux nombres à virgule flottante
TestSQL
SELECT 15.345 AS ISCORRECT, F_MINNUM(15.345, 15.346) FROM RDB$DATABASE;
SELECT 15.345 AS ISCORRECT, F_MIN(15.345, 15.346) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_MIN(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_EQUALINTEGER Compatible avec FreeUDFLib AvERP, GrUDF
Entrée/Sortie compatibles avec rFunc (IEQUAL)
Entrypoint equalinteger
Entrée INTEGER
INTEGER
Nombre entier 1
Nombre entier 2
Sortie INTEGER Résultat 1 = égalité, 0 = pas d’égalité
Si (par erreur) un des paramètres est spécifié en DOUBLE, il sera d’abord arrondi en INT avant la comparaison!
TestSQL
SELECT 1 AS ISCORRECT, F_EQUALINTEGER(14, 14) FROM RDB$DATABASE;
SELECT 0 AS ISCORRECT, F_EQUALINTEGER(14, 15) FROM RDB$DATABASE;
SELECT 1 AS ISCORRECT, F_EQUALINTEGER(14, 14.49) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_EQUALINTEGER(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_EQUALFLOAT Compatible avec FreeUDFLib AvERP, GrUDF
Entrée/Sortie compatibles avec rFunc (DEQUAL)
Entrypoint equalfloat
Entrée DOUBLE
DOUBLE
Valeur à virgule flottante 1
Valeur à virgule flottante 2
Sortie DOUBLE Résultat 1 = égalité, 0 = pas d’égalité
TestSQL
SELECT 1 AS ISCORRECT, F_EQUALFLOAT(14.00, 14.0) FROM RDB$DATABASE;
SELECT 0 AS ISCORRECT, F_EQUALFLOAT(14.00, 14.01) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_EQUALFLOAT(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
 
Fonctions numériques: Binaire
F_BIN_AND Entrée/Sortie compatibles avec ib_udf
Entrée/Sortie compatibles avec rFunc (BINAND)
remplaçable par BIN_AND
Entrypoint
Entrée INTEGER
INTEGER
Nombre entier 1
Nombre entier 2
Sortie INTEGER ET binaire des deux nombres entiers
TestSQL
SELECT 1 AS ISCORRECT, F_BIN_AND(3, 5) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_BIN_AND(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_BIN_OR Entrée/Sortie compatibles avec ib_udf
Entrée/Sortie compatibles avec rFunc (BINOR)
remplaçable par BIN_OR
Entrypoint
Entrée INTEGER
INTEGER
Nombre entier 1
Nombre entier 2
Sortie INTEGER OU binaire des deux nombres entiers
TestSQL
SELECT 7 AS ISCORRECT, F_BIN_OR(3, 5) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_BIN_OR(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_BIN_XOR Entrée/Sortie compatibles avec ib_udf
Entrée/Sortie compatibles avec rFunc (BINXOR)
remplaçable par BIN_XOR
Entrypoint
Entrée INTEGER
INTEGER
Nombre entier 1
Nombre entier 2
Sortie INTEGER OU exclusif binaire des deux nombres entiers
TestSQL
SELECT 6 AS ISCORRECT, F_BIN_XOR(3, 5) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_BIN_XOR(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_BIN_NOT Entrée/Sortie compatibles avec ib_udf
Entrée/Sortie compatibles avec rFunc (BINNOT)
Entrypoint
Entrée INTEGER Nombre entier 
Sortie INTEGER NON binaire du nombre entier
TestSQL
SELECT -4 AS ISCORRECT, F_BIN_NOT(3) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_BIN_NOT(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_BIN_SHL Entrée/Sortie compatibles avec ib_udf, GrUDF
remplaçable par BIN_SHL
Entrypoint
Entrée INTEGER
INTEGER
Nombre entier 1
Nombre entier 2
Sortie INTEGER Rotation binaire à gauche
TestSQL
SELECT 96 AS ISCORRECT, F_BIN_SHL(3, 5) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_BIN_SHL(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_BIN_SHR Entrée/Sortie compatibles avec ib_udf, GrUDF
remplaçable par BIN_SHR
Entrypoint
Entrée INTEGER
INTEGER
Nombre entier 1
Nombre entier 2
Sortie INTEGER Rotation binaire à droite
TestSQL
SELECT 0 AS ISCORRECT, F_BIN_SHR(3, 5) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_BIN_SHR(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_BIN_GET Entrée/Sortie compatibles avec rFunc (GETBIT)
Entrypoint r_getbit
Entrée INTEGER
INTEGER
Nombre entier
binaire cherché
Sortie INTEGER paramètre 2 - binaire nombre entier
TestSQL
SELECT 0 AS ISCORRECT, F_BIN_GET(3, 5) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_BIN_SHR(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_BIN_SET Entrée/Sortie compatibles avec rFunc (SETBIT)
Entrypoint r_setbit
Entrée INTEGER
INTEGER
INTEGER
Nombre entier
No. du binaire à échanger
binaire à être échangé
Sortie INTEGER Nombre entier obtenu ayant remplacé le paramètre
TestSQL
SELECT 1 AS ISCORRECT, F_BIN_GET(F_BIN_SET(3, 5, 1), 5) FROM RDB$DATABASE;
SELECT 35 AS ISCORRECT, F_BIN_SET(3, 5, 1) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_BIN_SHR(NULL, NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
 
Fonctions numériques: Trigonométrie
Entrée/Sortie compatibles avec ib_udf
Entrée/Sortie compatibles avec rFunc
Entrée  DOUBLE ... en messure de l’arc
Sortie  DOUBLE ... en messure de l’arc
F_SIN calcule de sinus
remplaçable par SIN
F_COS calcule le cosinus
remplaçable par COS
F_TAN calcule la tangente
remplaçable par TAN
F_COT calcule la cotangente
remplaçable par COT
F_ASIN calcule le sinus de l’arc
remplaçable par ASIN
F_ACOS calcule le cosinus de l’arc
remplaçable par ACOS
F_ATAN calcule la tangente de l’arc
remplaçable par ATAN
F_ATAN2 calcule la tangente de l’arc x / y
remplaçable par ATAN2
F_ACOT calcule la cotangente de l’arc
Fonction de adhoc
Entrée  DOUBLE ... en degrés
Sortie  DOUBLE ... en degrés
F_SIND
F_COSD
F_TAND
F_COTD
F_ARCSIND
F_ARCCOSD
F_ARCTAND
F_ARCCOTD
calcule de sinus
calcule le cosinus
calcule la tangente
calcule la cotangente
calcule le sinus de l’arc
calcule le cosinus de l’arc
calcule la tangente de l’arc
calcule la cotangente de l’arc
Entrée/Sortie compatibles avec ib_udf
Entrée/Sortie compatibles avec rFunc
Entrée  DOUBLE
Sortie  DOUBLE
F_SINH calcule le sinus hyperbolique
remplaçable par SINH
F_COSH calcule le cosinus hyperbolique
remplaçable par COTH
F_TANH calcule la tangente hyperbolique
remplaçable par TANH
F_COTH calcule la cotangente hyperbolique
Fonction de adhoc
F_ARSINH
F_ARCOSH
F_ARTANH
F_ARCOTH
calcule le argument sinus hyperbolique
calcule le argument cosinus hyperbolique
calcule la argument tangente hyperbolique
calcule la argument cotangente hyperbolique
TestSQL
SELECT 1 AS ISCORRECT, F_SIN(1.5707963267949), F_SIN(F_DEGTORAD(90)), F_SIND(90) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_SIN(NULL) FROM RDB$DATABASE;
vorige Seite • previous page • passée sitenach oben • go top • vers le hautnächste Seite • next page • prochain site