FreeAdhocUDF pour InterBase et FireBird in deutschin englishen français
homeprevious pagecontentnext pagelast page Mailing-Liste • mailinglist • liste de diffusionwas ich vermisse • what I missed •eMail Kommentar • eMail commentprint
 

Functions comprises dans FreeAdhocUDF.dll/.so/.dylib :
Fonctions numériques 75 fonctions

Utilitaires 4 fonctions

Formatages 13 fonctions

Calculs 21 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
à partir de remplaçable par RAND
F_RAND Entrée/Sortie compatibles avec ib_udf
Entrypoint f_rand Compatibles UTF-8
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 Compatibles UTF-8
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 Compatibles UTF-8
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 Compatibles UTF-8
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 Compatibles UTF-8
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 Compatibles UTF-8
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 •
à partir de remplaçable par ROUND
F_ZAHLRUNDEN
F_ROUNDCOMMON
Compatible avec FreeUDFLib AvERP, GrUDF
Entrée/Sortie compatibles avec rFunc (ROUND)
Entrypoint zahlrunden Compatibles UTF-8
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 40.43 AS ISCORRECT, F_ZAHLRUNDEN(40.425, 2) FROM RDB$DATABASE;
SELECT 40.42 AS ISCORRECT, F_ZAHLRUNDEN(40.4242, 2) FROM RDB$DATABASE;
SELECT 40.42 AS ISCORRECT, F_ZAHLRUNDEN(40.4246, 2) FROM RDB$DATABASE;
SELECT 75.15 AS ISCORRECT, F_ZAHLRUNDEN(395.50 * (19.00 / 100),2) 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 Compatibles UTF-8
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,4
Pour un arrondissage à l'entier le plus proche, voyez la fonction partie entière.
TestSQL
SELECT 21.14 AS ISCORRECT, F_ROUNDTOEVEN(21.145, 2) FROM RDB$DATABASE
SELECT 215.14 AS ISCORRECT, F_ROUNDTOEVEN(215.145, 2) FROM RDB$DATABASE
SELECT 215.16 AS ISCORRECT, F_ROUNDTOEVEN(215.155, 2) FROM RDB$DATABASE
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 -2.4 AS ISCORRECT, F_ROUNDTOEVEN(-2.35, 1) FROM RDB$DATABASE;
SELECT -2.4 AS ISCORRECT, F_ROUNDTOEVEN(-2.45, 1) FROM RDB$DATABASE;
SELECT -2.5 AS ISCORRECT, F_ROUNDTOEVEN(-2.4500001, 1) FROM RDB$DATABASE;
SELECT -2.4 AS ISCORRECT, F_ROUNDTOEVEN(-2.449, 1) 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 Compatibles UTF-8
Entrée DOUBLE
INTEGER
nombre en virgule flottante à arrondir
Nombre de chiffres décimaux pour l’arrondi
Sortie DOUBLE 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_RAPPENRUNDUNG Fonction de adhoc
Entrypoint rappenrundung Compatibles UTF-8
Entrée DOUBLE nombre en virgule flottante à arrondir
Sortie DOUBLE nombre à virgule flottante arrondi selon la règle de l’arrondi commercial (Rappenrundung en Suisse)
Référence: Wikipedia http://de.wikipedia.org/wiki/Rundung#Rappenrundung
L’arrondi commercial (Rappenrundung) est une particularité suisse. Bien qu’en Suisse on puisse compter en Rappen, un montant inférieur à 5 Rappen en liquide n’est pas dû et n’est pas porté en compte. Les montants en devises doivent être arrondis en conséquence. Cet arrondi commercial suit le schéma suivant:
L’arrondi est guidé par le milieu entre 0 et 5 Rappen ou entre 5 et 10 Rappen. Quand le montant est égal ou supérieur à ce milieu, il est arrondi à la borne supérieure, si non à la borne inférieure.
TestSQL
SELECT '1.00' AS ISCORRECT, F_RAPPENRUNDUNG(1.000) FROM RDB$DATABASE;
SELECT '1.00' AS ISCORRECT, F_RAPPENRUNDUNG(1.024) FROM RDB$DATABASE;
SELECT '1.05' AS ISCORRECT, F_RAPPENRUNDUNG(1.025) FROM RDB$DATABASE;
SELECT '1.05' AS ISCORRECT, F_RAPPENRUNDUNG(1.074) FROM RDB$DATABASE;
SELECT '1.10' AS ISCORRECT, F_RAPPENRUNDUNG(1.075) FROM RDB$DATABASE;
SELECT '1.10' AS ISCORRECT, F_RAPPENRUNDUNG(1.099) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_RAPPENRUNDUNG(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_FIXEDPOINT Compatible avec FreeUDFLib, FreeUDFLibC, FreeUDFLib AvERP
Entrypoint fixedpoint Compatibles UTF-8
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 Compatibles UTF-8
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 •
à partir de remplaçable par TRUNC
F_TRUNCATE Compatible avec FreeUDFLib, FreeUDFLibC, FreeUDFLib AvERP, GrUDF
Entrypoint f_truncate Compatibles UTF-8
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 converttodollar Compatibles UTF-8
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 pas compatible UTF-8 – emploie U_INPUTVAL
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_INPUTVAL Fonction de adhoc
Entrypoint euroval Compatibles UTF-8
Entrée DOUBLE
CSTRING(10)
Valeur en virgule flottante
Symboles de devises
Sortie CSTRING(32) Valeur avec symboles de devises suivant le nombre (arrondie à 2 décimales)
SELECT '15.42 €' AS ISCORRECT, F_INPUTVAL(15.4249, '€') FROM RDB$DATABASE
SELECT NULL AS ISCORRECT, F_INPUTVAL(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_NUMINWORDS Fonction de adhoc
Entrypoint numinwords Pas (encore) compatible UTF-8
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
à partir de remplaçable par ABS
F_DOUBLEABS
F_ABS
Compatible avec FreeUDFLib, FreeUDFLibC, FreeUDFLib AvERP
Compatible avec GrUDF
Compatible avec ib_udf  (ABS)
Entrée/Sortie compatibles avec rFunc (ABS)
Entrypoint doubleabs Compatibles UTF-8
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 •
à partir de remplaçable par ABS
F_INTEGERABS Compatible avec FreeUDFLibC
Entrypoint integerabs Compatibles UTF-8
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 •
à partir de remplaçable par POWER
F_POWER Entrée/Sortie compatibles avec fbudf (POWER)
Entrée/Sortie compatibles avec
 rFunc (POWER)
Entrypoint f_power Compatibles UTF-8
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 •
à partir de remplaçable par EXP
F_EXP Compatible avec GrUDF
Entrée/Sortie compatibles avec rFunc (EXP) 
Entrypoint f_exp Compatibles UTF-8
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 •
à partir de remplaçable par SQRT
F_SQRT Entrée/Sortie compatibles avec udflib, ib_udf
Entrée/Sortie compatibles avec rFunc (SQRT)
Entrypoint f_sqrt Compatibles UTF-8
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 Compatibles UTF-8
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 •
à partir de remplaçable par MODULO
F_MODULO Compatible avec FreeUDFLib, FreeUDFLibC, FreeUDFLib AvERP, GrUDF
Entrée/Sortie compatibles avec rFunc (MOD)
Entrypoint modulo Compatibles UTF-8
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_REMAINDER function from adhoc
Entrypoint f_remainder
UTF-8 kompatibel
Input DOUBLE
DOUBLE
divident (the number, which will be divided)
divisor (the number, by which one divides)
Output DOUBLE
Rest of division of two numbers, parameter 1 divided through parameter 2
TestSQL
SELECT CAST(3 AS DOUBLE PRECISION) AS ISCORRECT, F_REMAINDER(15, 6) FROM RDB$DATABASE;
SELECT CAST(0 AS DOUBLE PRECISION) AS ISCORRECT, F_REMAINDER(15, 5) FROM RDB$DATABASE;
SELECT CAST(-1 AS DOUBLE PRECISION) AS ISCORRECT, F_REMAINDER(15, 4) FROM RDB$DATABASE;
SELECT CAST(-0.4 AS DOUBLE PRECISION) AS ISCORRECT, F_REMAINDER(11.6, 2) FROM RDB$DATABASE;
SELECT CAST(-1 AS DOUBLE PRECISION) AS ISCORRECT, F_REMAINDER(11.6, 2.1) FROM RDB$DATABASE;
SELECT CAST(-3 AS DOUBLE PRECISION) AS ISCORRECT, F_REMAINDER(-15, 4) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_REMAINDER(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_DIV Entrée/Sortie compatibles avec rFunc (DIV)
Entrypoint r_div Compatibles UTF-8
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 •
nach oben • go top •
à partir de remplaçable par FLOOR
F_FLOOR Entrée/Sortie compatibles avec ib_udf
Entrée/Sortie compatibles avec rFunc (FLOOR)
Entrypoint f_floor Compatibles UTF-8
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 •
à partir de remplaçable par CEILING
F_CEILING Entrée/Sortie compatibles avec ib_udf
Entrée/Sortie compatibles avec rFunc (CEIL)
Entrypoint f_ceiling Compatibles UTF-8
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 Compatibles UTF-8
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 •
à partir de remplaçable par LN
F_LN Entrée/Sortie compatibles avec ib_udf
Entrée/Sortie compatibles avec rFunc (LN)
Entrypoint f_ln Compatibles UTF-8
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 •
à partir de remplaçable par LOG
F_LOG Entrée/Sortie compatibles avec ib_udf
Entrée/Sortie compatibles avec rFunc (LOG)
Entrypoint f_log Compatibles UTF-8
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 •
à partir de remplaçable par LOG10
F_LOG10 Entrée/Sortie compatibles avec ib_udf
Entrée/Sortie compatibles avec rFunc (LOG10)
Entrypoint f_log10 Compatibles UTF-8
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 Compatibles UTF-8
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 Compatibles UTF-8
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 •
à partir de remplaçable par SIGN
F_SIGN Entrée/Sortie compatibles avec ib_udf
Entrée/Sortie compatibles avec rFunc (SIGN)
Entrypoint f_sign Compatibles UTF-8
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 Compatibles UTF-8
Entrée DOUBLE
DOUBLE
Nombre à virgule flottante 1, par exemple Prix de vente
Nombre à virgule flottante 2, par exemple Prix d’achat
Sortie DOUBLE Quel est l’écart en % entre les paramètres 1 et 2 
Calcule l’écart en pourcent entre deux valeurs, par exemple l’écart (le bénéfice) entre le prix d’achat et le prix de vente, selon la formule : (100 / Paramètre 2 * Paramètre 1) – 100
Test-SQL
SELECT 50.000 AS ISCORRECT, F_PROZENTE(21.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 Compatibles UTF-8
Entrée DOUBLE
Nombre à virgule flottante
Sortie DOUBLE si entrée <null> sortie 0 autrement entrée
Output RETURN méchanismes BY VALUE
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 Compatibles UTF-8
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
Output RETURN méchanisme BY VALU
TEest-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
à partir de remplaçable par MAXVALUE
F_MAXNUM
 
F_MAX
Fonction de adhoc
Entrée/Sortie compatibles avec rFunc (MAXNUM)
Compatible avec GrUDF
Entrypoint maxnum Compatibles UTF-8
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 •
à partir de remplaçable par MINVALUE
F_MINNUM
 
F_MIN
Fonction de adhoc
Entrée/Sortie compatibles avec rFunc (MINNUM)
Compatible avec GrUDF
Entrypoint minnum Compatibles UTF-8
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 Compatibles UTF-8
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 Compatibles UTF-8
Entrée DOUBLE
DOUBLE
Valeur à virgule flottante 1
Valeur à virgule flottante 2
Sortie INTEGER 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
à partir de remplaçable par BIN_AND
F_BIN_AND Entrée/Sortie compatibles avec ib_udf
Entrée/Sortie compatibles avec rFunc (BINAND)
Entrypoint
Compatibles UTF-8
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 •
à partir de remplaçable par BIN_OR
F_BIN_OR Entrée/Sortie compatibles avec ib_udf
Entrée/Sortie compatibles avec rFunc (BINOR)
Entrypoint
Compatibles UTF-8
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 •
à partir de remplaçable par BIN_XOR
F_BIN_XOR Entrée/Sortie compatibles avec ib_udf
Entrée/Sortie compatibles avec rFunc (BINXOR)
Entrypoint
Compatibles UTF-8
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
Compatibles UTF-8
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 •
à partir de remplaçable par BIN_SHL
F_BIN_SHL Entrée/Sortie compatibles avec ib_udf, GrUDF
Entrypoint
Compatibles UTF-8
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 •
à partir de remplaçable par BIN_SHR
F_BIN_SHR Entrée/Sortie compatibles avec ib_udf, GrUDF
Entrypoint
Compatibles UTF-8
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 Compatibles UTF-8
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 Compatibles UTF-8
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
à partir de remplaçable par SIN
F_SIN
calcule de sinus
Entrypoint sin_rad Compatibles UTF-8
à partir de remplaçable par COS
F_COS
calcule le cosinus
Entrypoint cos_rad Compatibles UTF-8
à partir de remplaçable par TAN
F_TAN
calcule la tangente
Entrypoint tan_rad Compatibles UTF-8
à partir de remplaçable par COT
F_COT
calcule la cotangente
Entrypoint cot_rad Compatibles UTF-8
à partir de remplaçable par ASIN
F_ASIN
calcule le sinus de l’arc
Entrypoint arcsin_rad Compatibles UTF-8
à partir de remplaçable par ACOS
F_ACOS
calcule le cosinus de l’arc
Entrypoint arccos_rad Compatibles UTF-8
à partir de remplaçable par ATAN
F_ATAN
calcule la tangente de l’arc
Entrypoint arctan_rad Compatibles UTF-8
à partir de remplaçable par ATAN2
F_ATAN2
calcule la tangente de l’arc x / y
Entrypoint arctan2_rad Compatibles UTF-8
à partir de remplaçable par ACOT
F_ACOT calcule la cotangente de l’arc
Entrypoint
Compatibles UTF-8


Fonction de adhoc
Entrée  DOUBLE ... en degrés
Sortie  DOUBLE ... en degrés
F_SIND
calcule de sinus
Entrypoint sin_deg Compatibles UTF-8
F_COSD
calcule le cosinus
Entrypoint cos_deg Compatibles UTF-8
F_TAND
calcule la tangente
Entrypoint tan_deg Compatibles UTF-8
F_COTD
calcule la cotangente
Entrypoint cot_deg Compatibles UTF-8
F_ARCSIND
calcule le sinus de l’arc
Entrypoint arcsin_deg Compatibles UTF-8
F_ARCCOSD
calcule le cosinus de l’arc
Entrypoint arccos_deg Compatibles UTF-8
F_ARCTAND
calcule la tangente de l’arc
Entrypoint arctan_deg Compatibles UTF-8
F_ARCCOTD
calcule la cotangente de l’arc
Entrypoint arccot_deg Compatibles UTF-8


Entrée/Sortie compatibles avec ib_udf
Entrée/Sortie compatibles avec rFunc
Entrée  DOUBLE
Sortie  DOUBLE
à partir de remplaçable par SINH
F_SINH
calcule le sinus hyperbolique
Entrypoint sinhyp Compatibles UTF-8
à partir de remplaçable par COSH
F_COSH
calcule le cosinus hyperbolique
Entrypoint coshyp Compatibles UTF-8
à partir de remplaçable par TANH
F_TANH
calcule la tangente hyperbolique
Entrypoint tanhyp Compatibles UTF-8
à partir de remplaçable par COTH
F_COTH calcule la cotangente hyperbolique
Entrypoint cothyp Compatibles UTF-8


Fonction de adhoc
F_ARSINH
calcule le argument sinus hyperbolique
Entrypoint arcsinh Compatibles UTF-8
F_ARCOSH
calcule le argument cosinus hyperbolique
Entrypoint arccosh Compatibles UTF-8
F_ARTANH
calcule la argument tangente hyperbolique
Entrypoint arctanh Compatibles UTF-8
F_ARCOTH
calcule la argument cotangente hyperbolique
Entrypoint arccoth Compatibles UTF-8
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