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 de dates et de temps 139 fonctions et 27 variantes

Avertissement

Calculs 11 fonctions

Recherches 78 fonctions et 23 variantes

Formatages 16 fonctions et 4 variantes

Comparaisons 4 fonctions

Conversions 7 fonctions

Fête 14 fonctions

ne fonctionne PAS en Interbase

Depuis FireBird 2.0, au lieu de 0 donne ‘’(vide) ou ’17.11.1858’ <null>

á partir de InterBase 6.0 on peut remplacer par la fonction SQL incorporée

á partir de FireBird 1.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 dates et de temps: Avertissement
 
Il existe différents systèmes pour le calcul de dates. Les principaux sont
- La date julienne (JJ pour jour julien ou JD pour Julian Day),
- La date julienne modifiée (MJD),
- La date julienne de Dublin (DJD),
- La date ANSI,
- La date UNIX selon la norme POSIX.
 
La date julienne (JD) donne le temps qui s’est écoulé depuis midi du 1er janvier 4713 av. J.-C. selon le calendrier julien proleptique ou le 24 novembre 4714 av. J.-C. selon le calendrier grégorien proleptique, exprimé en jours décimaux. Ainsi, le 1er janvier 2000 à 12 :00 h s’exprime par la valeur 2.451.545,0.
Le système de jours juliens a été conçu pour fournir un système simple pour les dates qui pourraient être employées en travaillant avec des différents calendriers et unifier différentes chronologies historiques. On l’appelle également le jour julien astronomique (AJD).
La version la mieux connue du jour julien est le jour julien chronologique (CJD), une modification du jour julien astronomique, où le point de départ est à minuit du 1er janvier 4713 av. J.-C. plutôt que midi.
L’AJD s’emploie en temps universel coordonné (UTC) et est identique pour tous les fuseaux horaires et est indépendant de l’heure d’été. Le CJD, par contre, change avec les fuseaux horaires et tient compte de l’heure d’été locale.

La date julienne modifiée (MJD) fut introduite en 1950 par les scientifiques afin de simplifier les calculs astronomiques. On a MJD = AJD – 2.400.000,5. Les jours juliens modifiés commencent donc le 17 novembre 1858 à minuit. Ils sont basés sur le temps universel et non en temps local. La date julienne modifiée a été développée à l’occasion du calcul de la trajectoire du Sputnik sur IBM 704 (machine 36-bit). Digital Equipment Corporation (DEC) utilisait la MJD dans son système d’exploitation VMS et dans sa base de données Rdb/VMS. L’artisan de ce développement, Jim Starkey, quitta DEC et développa sa propre base de donnés RDBMS (relational database management system) sous le nom de Groton DataBase. C’est de là que vient InterBase.
La MJD fut utilisée principalement en géodésie, en géophysique et en technique spatiale, mais ne fut pas conservée pour l’astronomie.

La date julienne de Dublin (DJD) est une autre version de la date julienne qui commence le comptage à l’année 1900 (cas de Microsoft Excel, Lotus-123, Delphi) ou à l’année 1904 (Microsoft Excel pour Mac OS). Comme le comptage commence à 1 en non à 0, le point 0 correct est le 31 décembre 1899 à minuit (0:00 h). Une confusion s’est cependant introduite par le fait que certains programmes ont par erreur considéré l’année 1900 comme bissextile, fournissant ainsi des dates erronées jusqu’au 28 février 1900. Dans ces cas l’origine était donc le 30 décembre 1899 à minuit.

La date ANSI considère comme jour 1 le 1er janvier 1601. C’est le système utilisé en langage COBOL.

La date UNIX est une définition simple du temps introduite en 1969 pour le système d’exploitation UNIX et considérée comme une norme POSIX. Dans les premiers temps du développement de UNIX, la définition fut plusieurs fois modifiée. Depuis plusieurs décennies, toutefois, elle est restée la même. Cette date compte le nombre entier de secondes depuis le 1er janvier 1970 à minuit (0 :00 h) en temps universel (UTC). On appelle aussi cette origine de temps The EPOCH.

InterBase et FireBird utilisent la date julienne modifiée qui définit le 17.11.1858 comme le jour 0.
nach oben • go top •
 
Fonctions de dates et de temps: Calculs
à partir de
remplaçable par DATEADD
F_ADDYEAR Compatible avec FreeUDFLib, FreeUDFLibC, FreeUDFLib AvERP, GrUDF
Entrypoint addyear Compatibles UTF-8
Entrée TIMESTAMP
INTEGER
Date avec heure optionnelle
Nombre d’années à ajouter
Sortie TIMESTAMP Ajoute à la date le nombre d’années spécifié
Si le paramètre 2 est négatif, les années sont soustraites.
Si l’année considérée n’est pas bissextile, le 1er mars est renvoyé au lieu du 29 février.
TestSQL
SELECT '01.10.2008 15:03:01' AS ISCORRECT, F_ADDYEAR('01.10.2005 15:03:01', 3) FROM RDB$DATABASE;
SELECT '01.10.2002 15:03:01' AS ISCORRECT, F_ADDYEAR('01.10.2005 15:03:01', -3) FROM RDB$DATABASE;
SELECT '29.02.2008 15:03:01' AS ISCORRECT, F_ADDYEAR('29.02.2004 15:03:01', 4) FROM RDB$DATABASE;
SELECT '01.03.2009 15:03:01' AS ISCORRECT, F_ADDYEAR('29.02.2008 15:03:01', 1) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_ADDYEAR(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
à partir de
remplaçable par DATEADD
F_ADDMONTH Compatible avec FreeUDFLib, FreeUDFLibC, FreeUDFLib AvERP, GrUDF
Entrypoint addmonth Compatibles UTF-8
Entrée TIMESTAMP
INTEGER
Date avec heure optionnelle
Nombre de mois à ajouter
Sortie TIMESTAMP Ajoute à la date le nombre de mois spécifié
Si le paramètre 2 est négatif, les mois sont soustraits.
TestSQL
SELECT '01.03.2006 15:03:01' AS ISCORRECT, F_ADDMONTH('01.10.2005 15:03:01', 5) FROM RDB$DATABASE;
SELECT '01.07.2005 15:03:01' AS ISCORRECT, F_ADDMONTH('01.10.2005 15:03:01', -3) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_ADDMONTH(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
à partir de
remplaçable par DATEADD
F_ADDWEEK Fonction de adhoc
Entrypoint addweek Compatibles UTF-8
Entrée TIMESTAMP
INTEGER
Date avec heure optionnelle
Nombre de semaines à ajouter
Sortie TIMESTAMP Ajoute à la date le nombre de semaines spécifié
Si le paramètre 2 est négatif, les semaines sont soustraites.
TestSQL
SELECT '22.10.2005 15:03:01' AS ISCORRECT, F_ADDWEEK('01.10.2005 15:03:01', 3) FROM RDB$DATABASE;
SELECT '10.09.2005 15:03:01' AS ISCORRECT, F_ADDWEEK('01.10.2005 15:03:01', -3) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_ADDWEEK(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
à partir de
remplaçable par DATEADD
F_ADDDAY Fonction de adhoc
Entrypoint addday Compatibles UTF-8
Entrée TIMESTAMP
INTEGER
Date avec heure optionnelle
Nombre de jours à ajouter
Sortie TIMESTAMP Ajoute à la date le nombre de jours spécifié
Si le paramètre 2 est négatif, les jours sont soustraits.
TestSQL
SELECT '04.10.2005 15:03:01' AS ISCORRECT, F_ADDDAY('01.10.2005 15:03:01', 3) FROM RDB$DATABASE;
SELECT '28.09.2005 15:03:01' AS ISCORRECT, F_ADDDAY('01.10.2005 15:03:01', -3) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_ADDDAY(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
à partir de
remplaçable par DATEADD
F_ADDHOUR Fonction de adhoc
Entrypoint addhour Compatibles UTF-8
Entrée TIMESTAMP
INTEGER
Date avec heure optionnelle
Nombre d’heures à ajouter
Sortie TIMESTAMP Ajoute à la date et heure le nombre d’heures spécifié
Si le paramètre 2 est négatif, les heures sont soustraites.
TestSQL
SELECT '01.10.2005 18:03:01' AS ISCORRECT, F_ADDHOUR('01.10.2005 15:03:01', 3) FROM RDB$DATABASE;
SELECT '01.10.2005 12:03:01' AS ISCORRECT, F_ADDHOUR('01.10.2005 15:03:01', -3) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_ADDHOUR(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
à partir de
remplaçable par DATEADD
F_ADDMINUTE Fonction de adhoc
Entrypoint addminute Compatibles UTF-8
Entrée TIMESTAMP
INTEGER
Date avec heure optionnelle
Nombre de minutes à ajouter
Sortie TIMESTAMP Ajoute à la date et heure le nombre de minutes spécifié
Si le paramètre 2 est négatif, les minutes sont soustraites.
TestSQL
SELECT '01.10.2005 15:06:01' AS ISCORRECT, F_ADDMINUTE('01.10.2005 15:03:01', 3) FROM RDB$DATABASE;
SELECT '01.10.2005 15:00:01' AS ISCORRECT, F_ADDMINUTE('01.10.2005 15:03:01', -3) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_ADDMINUTE(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
à partir de
remplaçable par DATEADD
F_ADDSECOND Fonction de adhoc
Entrypoint addsecond Compatibles UTF-8
Entrée TIMESTAMP
INTEGER
Date avec heure optionnelle
Nombre de secondes à ajouter
Sortie TIMESTAMP Ajoute à la date et heure le nombre de secondes spécifié
Si le paramètre 2 est négatif, les secondes sont soustraites.
TestSQL
SELECT '01.10.2005 15:03:04' AS ISCORRECT, F_ADDSECOND('01.10.2005 15:03:01', 3) FROM RDB$DATABASE;
SELECT '01.10.2005 15:02:58' AS ISCORRECT, F_ADDSECOND('01.10.2005 15:03:01', -3) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_ADDSECOND(NULL, NULL) FROM RDB$DATABASE;  
nach oben • go top •
F_INCDATE Entrée/Sortie compatibles avec rFunc (INCDATE)
Entrypoint incdate Compatibles UTF-8
Entrée TIMESTAMP
INTEGER
INTEGER
INTEGER
Date avec heure optionnelle
Nombre de jours à ajouter
Nombre de mois à ajouter
Nombre d’années à ajouter
Sortie TIMESTAMP
Ajoute à la date et heure le nombre de jours, mois et années spécifié
Si le paramètre est négatif, sont soustraites.
TestSQL
SELECT '02.11.2006 15:03:05' AS ISCORRECT, F_INCDATE('01.10.2005 15:03:05', 1, 1, 1) FROM RDB$DATABASE;
SELECT '31.08.2004 15:03:05' AS ISCORRECT, F_INCDATE('01.10.2005 15:03:05', -1, -1, -1) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_INCDATE(NULL, NULL, NULL, NULL) FROM RDB$DATABASE;  
nach oben • go top •
F_INCDATETIME Entrée/Sortie compatibles avec rFunc (INCDATETIME)
Entrypoint incdatetime Compatibles UTF-8
Entrée TIMESTAMP
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
Date avec heure optionnelle
Nombre de jours à ajouter
Nombre de mois à ajouter
Nombre d’années à ajouter
Nombre d’heures à ajouter
Nombre de minutes à ajouter
Nombre de secondes à ajouter
Sortie TIMESTAMP
Ajoute à la date et heure le nombre de jours, mois, années, heures, minutes et secondes spécifié
Si le paramètre est négatif, sont soustraites.
TestSQL
SELECT '02.11.2006 16:04:06' AS ISCORRECT, F_INCDATETIME('01.10.2005 15:03:05', 1, 1, 1, 1, 1, 1) FROM RDB$DATABASE;
SELECT '02.11.2006 14:02:04' AS ISCORRECT, F_INCDATETIME('01.10.2005 15:03:05', 1, 1, 1, -1, -1, -1) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_ADDSECOND(NULL, NULL, NULL, NULL, NULL, NULL, NULL) FROM RDB$DATABASE;  
nach oben • go top •
F_ADDPERIOD Fonction de adhoc
Entrypoint addperiod Compatibles UTF-8
Entrée CSTRING(254)
CSTRING(254)
Durée 1 au format [d:]h:m:s
Durée 2 au format [d:]h:m:s
Sortie CSTRING(254) Durée 1 plus durée 2
Les durées peuvent être données sous deux formats: une ou deux positions (dd:hh:mm:ss ou d:h:m:s).
Les durées négatives s’indiquent par un ‹-› en tête de la première section.
Les durées peuvent s’exprimer au format Jour:Heure:Minute:Seconde (4 sections) et Heure:Minute:Seconde (3 sections).
S’il y a moins de 3 sections ou s’il y a d’autres caractères en tête, le résultat sera respectivement <null> ou une chaîne vide.
Des entrées comme par exemple '0:26:0:0' au lieu de '1:2:0:0' pour 26 heures sont acceptées.
Le résultat en sortie est toujours au format Jour:Heure:Minute:Seconde (4 sections de 2 positions) dd:hh:mm:ss.
TestSQL
SELECT '00:01:25:10' AS ISCORRECT, F_ADDPERIOD('0:1:10:0', '0:0:15:10') FROM RDB$DATABASE;
SELECT '00:01:25:10' AS ISCORRECT, F_ADDPERIOD('01:10:00', '00:15:10') FROM RDB$DATABASE;
SELECT '00:00:54:50' AS ISCORRECT, F_SUBPERIOD('0:1:10:0', '0:0:15:10'), F_ADDPERIOD('0:1:10:0', '-0:0:15:10') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_ADDPERIOD(NULL, NULL) FROM RDB$DATABASE;  
nach oben • go top •
F_SUBPERIOD Fonction de adhoc
Entrypoint subperiod Compatibles UTF-8
Entrée CSTRING(254)
CSTRING(254)
Durée 1 au format [d:]h:m:s
Durée 2 au format [d:]h:m:s
Sortie CSTRING(254) Durée 1 déduction faite de la durée 2
Les durées peuvent être données sous deux formats: une ou deux positions (dd:hh:mm:ss ou d:h:m:s).
Les durées négatives s’indiquent par un ‹-› en tête de la première section.
Les durées peuvent s’exprimer au format Jour:Heure:Minute:Seconde (4 sections) et Heure:Minute:Seconde (3 sections).
S’il y a moins de 3 sections ou s’il y a d’autres caractères en tête, le résultat sera respectivement <null> ou une chaîne vide.
Des entrées comme par exemple '0:26:0:0' au lieu de '1:2:0:0' pour 26 heures sont acceptées.
Le résultat en sortie est toujours au format Jour:Heure:Minute:Seconde (4 sections de 2 positions) dd:hh:mm:ss.
Si la durée 2 est plus longue que la durée 1, le résultat est négatif et est fourni avec un signe ‹-› devant la première section.
TestSQL
SELECT '00:00:54:50' AS ISCORRECT, F_SUBPERIOD('0:1:10:0', '0:0:15:10') FROM RDB$DATABASE;
SELECT '-00:00:54:50' AS ISCORRECT, F_SUBPERIOD('0:0:15:10', '0:1:10:0') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_SUBPERIOD(NULL, NULL) FROM RDB$DATABASE; 
nach oben • go top •
 
Fonctions de dates et de temps: Recherches
Pour le calcul de la différence entre deux dates il existe 3 méthodes de base (valables pour toutes les versions de IB et FB):
  • si l’on désire un résultat négatif lorsque la première date donnée est plus tardive que la seconde
    • utiliser F_AGEIN avec point d’entrée (entrypoint) agein…
  • si l’on désire un résultat <null> lorsque la première date donnée est plus tardive que la seconde
    • utiliser F_AGEIN…N avec point d’entrée (entrypoint) agein…null
  • si l’on désire uniquement un résultat positif, quelle que soit la date la plus tardive
    • utiliser F_BETWEEN avec point d’entrée (entrypoint) ...between
Entrée  TIMESTAMP
TIMESTAMP
Date avec heure optionnelle 1 (la plus ancienne des 2)
Date avec heure optionnelle 2 (la plus tardive des 2)
à partir de
remplaçable par DATEDIFF
F_AGEINYEARS
Fonction de adhoc
Entrypoint ageinyears Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de d’années
à partir de
remplaçable par DATEDIFF
F_AGEINYEARSN  Fonction de adhoc
Entrypoint ageinyearsnull Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de d’années
à partir de
remplaçable par DATEDIFF
F_AGEINMONTHS
Compatible avec FreeUDFLib, FreeUDFLibC, FreeUDFLib AvERP, GrUDF
Entrypoint ageinmonths Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de mois
à partir de
remplaçable par DATEDIFF
F_AGEINMONTHSN  Fonction de adhoc
Entrypoint ageinmonthsnull Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de mois
à partir de
remplaçable par DATEDIFF
F_AGEINWEEKS
Compatible avec FreeUDFLib, FreeUDFLibC, FreeUDFLib AvERP
Entrypoint ageinweeks Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de semaines
Le calcul se base sur des semaines commençant le dimanche.
Si les deux dates sont dans la même semaine, le résultat est 0.
F_AGEINWEEKSISO
Fonction de adhoc
Entrypoint ageinweeksiso Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de semaines
Version ISO de F_AGEINWEEKS dans laquelle le premier jour de la semaine est le lundi.
Si les deux dates sont dans la même semaine, le résultat est 0.
à partir de
remplaçable par DATEDIFF
F_AGEINWEEKSN  Fonction de adhoc
Entrypoint ageinweeksnull Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de semaines
Le calcul se base sur des semaines commençant le dimanche.
Si les deux dates sont dans la même semaine, le résultat est 0.
F_AGEINWEEKSNISO Fonction de adhoc
Entrypoint ageinweeksnulliso Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de semaines
Version ISO de F_AGEINWEEKSN dans laquelle le premier jour de la semaine est le lundi.
Si les deux dates sont dans la même semaine, le résultat est 0.
à partir de
remplaçable par DATEDIFF
F_AGEINDAYS
Compatible avec FreeUDFLib, FreeUDFLib AvERP
Entrée/Sortie compatibles avec rFunc (DAYSBETWEEN)
Entrypoint ageindays Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de jours
à partir de
remplaçable par DATEDIFF
F_AGEINDAYSN  Fonction de adhoc
Entrypoint ageindaysnull Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de jours
F_AGEINWORKINGDAYS  Fonction de adhoc
Entrypoint ageinworkingdays Compatibles UTF-8
Entrée TIMESTAMP
TIMESTAMP
INTEGER
Date avec heure optionnelle 1 (la plus ancienne des 2)
Date avec heure optionnelle 2 (la plus tardive des 2)
jour(s) exclus
Sortie INTEGER La différence entre les dates 1 et 2 est exprimée en nombre entier de jours,
déduction faite des jours du paramètre 3
Jours: Lundi = 1, Mardi = 2, Mercredi = 3, Jeudi = 4, Vendredi = 5, Samedi = 6, Dimanche = 7
Si la date 1 est postérieure à la date 2, le résultat est négatif.
Le choix du nombre indiquant plusieurs jours de semaine est libre.
Seuls les nombres significatifs sont pris en compte.

Test SQL
SELECT 4 AS ISCORRECT, F_AGEINWORKINGDAYS('12.12.2008', '17.12.2008', 7) FROM RDB$DATABASE;
SELECT 3 AS ISCORRECT, F_AGEINWORKINGDAYS('12.12.2008', '17.12.2008', 67) FROM RDB$DATABASE;
SELECT -3 AS ISCORRECT, F_AGEINWORKINGDAYS('17.12.2008', '12.12.2008', 67) FROM RDB$DATABASE;
SELECT 3 AS ISCORRECT, F_AGEINWORKINGDAYS('12.12.2008', '17.12.2008', 467) FROM RDB$DATABASE;
SELECT 5 AS ISCORRECT, F_AGEINWORKINGDAYS('12.12.2008', '17.12.2008', 9) FROM RDB$DATABASE;
SELECT 5 AS ISCORRECT, F_AGEINWORKINGDAYS('12.12.2008', '17.12.2008', 890) FROM RDB$DATABASE;
SELECT 0 AS ISCORRECT, F_AGEINWORKINGDAYS('09.01.2009', '09.01.2009', 67) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_AGEINWORKINGDAYS(NULL, NULL, NULL) FROM RDB$DATABASE;
à partir de
remplaçable par DATEDIFF
F_AGEINHOURS
Fonction de adhoc
Entrypoint ageinhours Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de d’heures
à partir de
remplaçable par DATEDIFF
F_AGEINHOURSN  Fonction de adhoc
Entrypoint ageinhoursnull Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de d’heures
à partir de
remplaçable par DATEDIFF
F_AGEINMINUTES
Fonction de adhoc
Entrypoint ageinminutes Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de minutes
à partir de
remplaçable par DATEDIFF
F_AGEINMINUTESN  Fonction de adhoc
Entrypoint ageinminutesnull Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de minutes
à partir de
remplaçable par DATEDIFF
F_AGEINSECONDS
Fonction de adhoc
Entrypoint ageinseconds Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de secondes
à partir de
remplaçable par DATEDIFF
F_AGEINSECONDSN  Fonction de adhoc
Entrypoint ageinsecondsnull Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de secondes
Option fondée sur la compatibilité.
Si la date 2 est plus ancienne que la date 1, le résultat est négatif. En vérité il devrait être nul puisqu’il n’y a pas d’âge négatif!
Utiliser F_AGEIN…N ou F_BETWEEN si l’on ne désire pas de résultat négatif.
TestSQL
SELECT 3 AS ISCORRECT, F_AGEINYEARS('01.01.2005 15:01:21','01.10.2008 15:01:01') FROM RDB$DATABASE;
SELECT -3 AS ISCORRECT, F_AGEINYEARS('01.01.2005 15:01:21','01.10.2002 15:01:01') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_AGEINYEARS(NULL, NULL) FROM RDB$DATABASE;
SELECT 9 AS ISCORRECT, F_AGEINMONTHS('01.01.2005 15:01:21','01.10.2005 15:01:01') FROM RDB$DATABASE;
SELECT -9 AS ISCORRECT, F_AGEINMONTHS('01.10.2005 15:01:21','01.01.2005 15:01:01') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_AGEINMONTHS(NULL, NULL) FROM RDB$DATABASE;
SELECT 20 AS ISCORRECT, F_AGEINWEEKS('01.01.2005 15:01:21','15.05.2005 15:01:21') FROM RDB$DATABASE;
SELECT -33 AS ISCORRECT, F_AGEINWEEKS('01.01.2006 15:01:21','15.05.2005 15:01:21') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_AGEINWEEKS(NULL, NULL) FROM RDB$DATABASE;
SELECT 0 AS ISCORRECT, F_AGEINWEEKSISO('11.02.2008 15:01:21','17.02.2008 15:01:21'), F_AGEINWEEKS('11.02.2008 15:01:21','17.02.2008 15:01:21') FROM RDB$DATABASE;
SELECT 10 AS ISCORRECT, F_AGEINDAYS('01.10.2005 15:01:03','11.10.2005 15:04:03') FROM RDB$DATABASE;
SELECT -20 AS ISCORRECT, F_AGEINDAYS('01.10.2005 15:01:03','11.09.2005 15:04:03') FROM RDB$DATABASE;
SELECT 3 AS ISCORRECT, F_AGEINHOURS('01.10.2005 15:01:03','01.10.2005 18:01:03') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_AGEINDAYS(NULL, NULL) FROM RDB$DATABASE;
SELECT 14 AS ISCORRECT, F_AGEINMINUTES('01.10.2005 15:01:03','01.10.2005 15:15:03') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_AGEINHOURS(NULL, NULL) FROM RDB$DATABASE;
SELECT 14 AS ISCORRECT, F_AGEINMINUTES('01.10.2005 15:01:03','01.10.2005 15:15:03') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_AGEINMINUTES(NULL, NULL) FROM RDB$DATABASE;
SELECT 20 AS ISCORRECT, F_AGEINSECONDS('01.01.2005 15:01:01','01.01.2005 15:01:21') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_AGEINSECONDS(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
Entrée  TIMESTAMP
TIMESTAMP
INTEGER
INTEGER
INTEGER
INTEGER
Date 1 avec heure optionnelle (la plus ancienne des 2)
Date 2 avec heure optionnelle (la plus tardive des 2)
Valeur minimum
Valeur minimum utilisée (0 = non, 1 = oui)
Valeur maximum
Valeur maximum utilisée (0 = non, 1 = oui)
F_AGEINYEARSTHRESHOLD
Fonction de adhoc
Entrypoint ageinyearsthreshold Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier d’années
F_AGEINYEARSTHRESHOLDN Fonction de adhoc
Entrypoint ageinyearsthresholdnull Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier d’années
F_AGEINMONTHSTHRESHOLD
Compatible avec FreeUDFLib, FreeUDFLib AvERP
Entrypoint ageinmonththreshold Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de mois
F_AGEINMONTHSTHRESHOLDN Fonction de adhoc
Entrypoint ageinmonththresholdnull Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de mois
F_AGEINWEEKSTHRESHOLD
Compatible avec FreeUDFLib, FreeUDFLib AvERP
Entrypoint ageinweeksthreshold Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de semaines
Le calcul se base sur des semaines commençant le dimanche.
Si les deux dates sont dans la même semaine, le résultat est 0.
F_AGEINWEEKSTHRESHOLDISO
Fonction de adhoc
Entrypoint ageinweeksthresholdiso Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de semaines
Version ISO de F_AGEINWEEKSTHRESHOLD dans laquelle le premier jour de la semaine est le lundi.
Si les deux dates sont dans la même semaine, le résultat est 0.
F_AGEINWEEKSTHRESHOLDN Fonction de adhoc
Entrypoint ageinweeksthresholdnull Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de semaines
Le calcul se base sur des semaines commençant le dimanche.
Si les deux dates sont dans la même semaine, le résultat est 0.
F_AGEINWEEKSTHRESHOLDNISO Fonction de adhoc
Entrypoint ageinweeksthresholdnulliso Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de semaines
Version ISO de F_AGEINWEEKSTHRESHOLDN dans laquelle le premier jour de la semaine est le lundi.
Si les deux dates sont dans la même semaine, le résultat est 0.
F_AGEINDAYSTHRESHOLD
Compatible avec FreeUDFLib, FreeUDFLib AvERP
Entrypoint ageindaysthreshold Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de jours
F_AGEINDAYSTHRESHOLDN Fonction de adhoc
Entrypoint ageindaysthresholdnull Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de jours
F_AGEINWORKINGDAYSTHR Fonction de adhoc
Entrypoint ageinworkingdaysthr Compatibles UTF-8
Entrée TIMESTAMP
TIMESTAMP
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
Date avec heure optionnelle 1 (la plus ancienne des 2)
Date avec heure optionnelle 2 (la plus tardive des 2)
Valeur minimum
Valeur minimum utilisée (0 = non, 1 = oui)
Valeur maximum
Valeur maximum utilisée (0 = non, 1 = oui)
jour(s) exclus
Sortie INTEGER La différence entre les dates 1 et 2 est exprimée en nombre entier de jours,
déduction faite des jours du paramètre 7
Jours: Lundi = 1, Mardi = 2, Mercredi = 3, Jeudi = 4, Vendredi = 5, Samedi = 6, Dimanche = 7
Si la date 1 est postérieure à la date 2, le résultat est négatif.
Le choix du nombre indiquant plusieurs jours de semaine est libre.
Seuls les nombres significatifs sont pris en compte.

Test SQL
SELECT 4 AS ISCORRECT, F_AGEINWORKINGDAYSTHRESHOLD('12.12.2008', '17.12.2008', 5, 0, 0, 0, 7) FROM RDB$DATABASE;
SELECT 5 AS ISCORRECT, F_AGEINWORKINGDAYSTHRESHOLD('12.12.2008', '17.12.2008', 5, 1, 0, 0, 7) FROM RDB$DATABASE;
SELECT 4 AS ISCORRECT, F_AGEINWORKINGDAYSTHRESHOLD('12.12.2008', '17.12.2008', 0, 0, 3, 0, 7) FROM RDB$DATABASE;
SELECT 3 AS ISCORRECT, F_AGEINWORKINGDAYSTHRESHOLD('12.12.2008', '17.12.2008', 0, 0, 3, 1, 7) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_AGEINWORKINGDAYSTHR(NULL, NULL, NULL) FROM RDB$DATABASE;
F_AGEINHOURSTHRESHOLD
Fonction de adhoc
Entrypoint ageinhoursthreshold Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier d’heures
F_AGEINHOURSTHRESHOLDN Fonction de adhoc
Entrypoint ageinhoursthresholdnull Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier d’heures
F_AGEINMINUTESTHRESHOLD
Fonction de adhoc
Entrypoint ageinminutesthreshold Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de minutes
F_AGEINMINUTESTHRESHOLDN Fonction de adhoc
Entrypoint ageinminutesthresholdnull Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de minutes
F_AGEINSECONDSTHRESHOLD  Fonction de adhoc
Entrypoint ageinsecondsthreshold Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de secondes
F_AGEINSECONDSTHRESHOLDN Fonction de adhoc
Entrypoint ageinsecondsthresholdnull Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de secondes
Si le paramètre 4 vaut 1, le résultat sera au moins la valeur minimum. Si le paramètre 6 vaut 1, le résultat sera au plus la valeur maximum. Option fondée sur la compatibilité:
Si la date 2 est plus ancienne que la date 1, le résultat est négatif. En vérité il devrait être nul puisqu’il n’y a pas d’âge négatif!
Utiliser F_AGEIN…N ou F_BETWEEN si l’on ne désire pas de résultat négatif.
TestSQL
SELECT 3 AS ISCORRECT, F_AGEINYEARSTHRESHOLD('01.10.2005 15:01:03','01.12.2008 15:03:03', 5, 0, 10, 0) FROM RDB$DATABASE;
SELECT 5 AS ISCORRECT, F_AGEINYEARSTHRESHOLD('01.10.2005 15:01:03','01.12.2008 15:03:03', 5, 1, 10, 0) FROM RDB$DATABASE;
SELECT 3 AS ISCORRECT, F_AGEINYEARSTHRESHOLD('01.10.2005 15:01:03','01.12.2008 15:03:03', 5, 0, 10, 1) FROM RDB$DATABASE;
SELECT 10 AS ISCORRECT, F_AGEINYEARSTHRESHOLD('01.10.2005 15:01:03','01.12.2018 15:03:03', 5, 0, 10, 1) FROM RDB$DATABASE;
SELECT 10 AS ISCORRECT, F_AGEINYEARSTHRESHOLD('01.10.2005 15:01:03','01.12.2018 15:03:03', 5, 1, 10, 1) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_AGEINYEARSTHRESHOLD(NULL, NULL, NULL, NULL, NULL, NULL) FROM RDB$DATABASE;
SELECT 2 AS ISCORRECT, F_AGEINMONTHSTHRESHOLD('01.10.2005 15:01:03','01.12.2005 15:03:03', 5, 0, 10, 0) FROM RDB$DATABASE;
SELECT 5 AS ISCORRECT, F_AGEINMONTHSTHRESHOLD('01.10.2005 15:01:03','01.12.2005 15:03:03', 5, 1, 10, 0) FROM RDB$DATABASE;
SELECT 10 AS ISCORRECT, F_AGEINMONTHSTHRESHOLD('01.01.2005 15:01:03','01.12.2005 15:03:03', 5, 1, 10, 1) FROM RDB$DATABASE;
SELECT -1 AS ISCORRECT, F_AGEINMONTHSTHRESHOLD('01.01.2006 15:01:03','01.12.2005 15:03:03', 5, 0, 10, 0) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_AGEINMONTHSTHRESHOLD(NULL, NULL, NULL, NULL, NULL, NULL) FROM RDB$DATABASE;
SELECT 2 AS ISCORRECT, F_AGEINWEEKSTHRESHOLD('01.01.2005 15:01:21','15.01.2005 15:01:21', 5, 0, 10, 0) FROM RDB$DATABASE;
SELECT 5 AS ISCORRECT, F_AGEINWEEKSTHRESHOLD('01.01.2005 15:01:21',’15.01.2005 15:01:21', 5, 1, 10, 0) FROM RDB$DATABASE;
SELECT 10 AS ISCORRECT, F_AGEINWEEKSTHRESHOLD('01.01.2005 15:01:21','15.05.2005 15:01:21', 5, 0, 10, 1) FROM RDB$DATABASE;           
SELECT -33 AS ISCORRECT, F_AGEINWEEKSTHRESHOLD('01.01.2006 15:01:21','15.05.2005 15:01:21', 5, 0, 10, 1) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_AGEINWEEKSTHRESHOLD(NULL, NULL, NULL, NULL, NULL, NULL) FROM RDB$DATABASE;
SELECT 2 AS ISCORRECT, F_AGEINWEEKSTHRESHOLDISO('01.01.2005 15:01:21','15.01.2005 15:01:21', 5, 0, 10, 0) FROM RDB$DATABASE;
SELECT 10 AS ISCORRECT, F_AGEINDAYSTHRESHOLD('01.10.2005 15:01:03','11.10.2005 15:01:03', 15, 0, 20, 0) FROM RDB$DATABASE;
SELECT 15 AS ISCORRECT, F_AGEINDAYSTHRESHOLD('01.10.2005 15:01:03','11.10.2005 15:01:03', 15, 1, 20, 0) FROM RDB$DATABASE;
SELECT 20 AS ISCORRECT, F_AGEINDAYSTHRESHOLD('01.10.2005 15:01:03','01.11.2005 15:01:03', 15, 0, 20, 1) FROM RDB$DATABASE;
SELECT 20 AS ISCORRECT, F_AGEINDAYSTHRESHOLD('01.10.2005 15:01:03','01.11.2005 15:01:03', 15, 1, 20, 1) FROM RDB$DATABASE;
SELECT 15 AS ISCORRECT, F_AGEINDAYSTHRESHOLD('01.10.2005 15:01:03','01.09.2005 15:01:03', 15, 1, -20, 1) FROM RDB$DATABASE;
SELECT -20 AS ISCORRECT, F_AGEINDAYSTHRESHOLD('01.10.2005 15:01:03','15.09.2005 15:01:03', 15, 0, -20, 1) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_AGEINDAYSTHRESHOLD(NULL, NULL, NULL, NULL, NULL, NULL) FROM RDB$DATABASE;
SELECT 3 AS ISCORRECT, F_AGEINHOURSTHRESHOLD('01.10.2005 15:01:03','01.10.2005 18:01:03', 5, 0, 10, 0) FROM RDB$DATABASE;
SELECT 5 AS ISCORRECT, F_AGEINHOURSTHRESHOLD('01.10.2005 15:01:03','01.10.2005 18:01:03', 5, 1, 10, 0) FROM RDB$DATABASE;
SELECT 10 AS ISCORRECT, F_AGEINHOURSTHRESHOLD('01.10.2005 15:01:03','02.10.2005 18:01:03', 5, 1, 10, 1) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_AGEINHOURSTHRESHOLD(NULL, NULL, NULL, NULL, NULL, NULL) FROM RDB$DATABASE;
SELECT 14 AS ISCORRECT, F_AGEINMINUTESTHRESHOLD('01.10.2005 15:01:03','01.10.2005 15:15:03', 5, 0, 10, 0) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_AGEINMINUTESTHRESHOLD(NULL, NULL, NULL, NULL, NULL, NULL) FROM RDB$DATABASE;
SELECT 16 AS ISCORRECT, F_AGEINSECONDSTHRESHOLD('01.01.2005 15:01:03','01.01.2005 15:01:19', 5, 0, 10, 0) FROM RDB$DATABASE;
SELECT 5 AS ISCORRECT, F_AGEINSECONDSTHRESHOLD('01.01.2005 15:01:19','01.01.2005 15:01:21', 5, 1, 10, 0) FROM RDB$DATABASE;
SELECT 10 AS ISCORRECT, F_AGEINSECONDSTHRESHOLD('01.01.2005 15:01:03','01.01.2005 15:01:19', 5, 1, 10, 1) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_AGEINSECONDSTHRESHOLD(NULL, NULL, NULL, NULL, NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
Entrée  TIMESTAMP
TIMESTAMP
Date 1 avec heure optionnelle
Date 2 avec heure optionnelle
F_YEARSBETWEEN Compatible avec GrUDF
Entrypoint yearsbetween Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier d’années
F_MONTHSBETWEEN Fonction de adhoc
Entrypoint monthsbetween Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de mois
F_WEEKSBETWEEN Compatible avec GrUDF
Entrypoint weeksbetween Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de semaines
Le calcul se base sur des semaines commençant le dimanche.
Si les deux dates sont dans la même semaine, le résultat est 0.
F_WEEKSBETWEENISO Fonction de adhoc
Entrypoint weeksbetweeniso Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de semaines
Version ISO de F_WEEKSBETWEEN dans laquelle le premier jour de la semaine est le lundi.
Si les deux dates sont dans la même semaine, le résultat est 0.
F_DAYSBETWEEN Fonction de adhoc
Entrypoint daysbetween Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de jours
F_WORKINGDAYSBETWEEN Fonction de adhoc
Entrypoint workingdaysbetween Compatibles UTF-8
Entrée TIMESTAMP
TIMESTAMP
INTEGER
Date avec heure optionnelle 1 (la plus ancienne des 2)
Date avec heure optionnelle 2 (la plus tardive des 2)
jour(s) exclus
Sortie INTEGER La différence entre les dates 1 et 2 est exprimée en nombre entier de jours,
déduction faite des jours du paramètre 3
Jours: Lundi = 1, Mardi = 2, Mercredi = 3, Jeudi = 4, Vendredi = 5, Samedi = 6, Dimanche = 7
Si la date 1 est postérieure à la date 2, le résultat est positif.
Le choix du nombre indiquant plusieurs jours de semaine est libre.
Seuls les nombres significatifs sont pris en compte.

Test SQL
SELECT 4 AS ISCORRECT, F_WORKINGDAYSBETWEEN('12.12.2008', '17.12.2008', 7) FROM RDB$DATABASE;
SELECT 4 AS ISCORRECT, F_WORKINGDAYSBETWEEN('17.12.2008', '12.12.2008', 7) FROM RDB$DATABASE;
SELECT -4 AS ISCORRECT, F_AGEINWORKINGDAYS('17.12.2008', '12.12.2008', 7) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_WORKINGDAYSBETWEEN(NULL, NULL, NULL) FROM RDB$DATABASE;
F_HOURSBETWEEN Compatible avec GrUDF
Entrypoint hoursbetween Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de d’heures
F_MINUTESBETWEEN Compatible avec GrUDF
Entrypoint minutesbetween Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de minutes
F_INDMINUTESBETWEEN Fonction de adhoc
Entrypoint indminutesbetween Compatibles UTF-8
Sortie INTEGER La différence entre les dates 1 et 2 est exprimée en nombre entier de «minutes industrielles»
F_INDMINUTESBETWEENTHR Fonction de adhoc
ne fonctionne PAS en Interbase; utiliser F_INDMINUTESBETWEENTHRIB
Entrée TIMESTAMP
TIMESTAMP
TIME
INTEGER
TIME
INTEGER
Date avec heure optionnelle 1 (la plus ancienne des 2)
Date avec heure optionnelle 2 (la plus tardive des 2)
Valeur minimum
Valeur minimum utilisée (0 = non, 1 = oui)
Valeur maximum
Valeur maximum utilisée (0 = non, 1 = oui)
Entrypoint indminutesbetweenthr Compatibles UTF-8
Sortie INTEGER La différence entre les dates 1 et 2 est exprimée en nombre entier de «minutes industrielles»
F_INDMINUTESBETWEENTHRIB Fonction de adhoc

Version spéciale pour InterBase (à utiliser aussi avec Firebird)
Entrée TIMESTAMP
TIMESTAMP
TIMESTAMP !!!
INTEGER
TIMESTAMP !!!
INTEGER
Date avec heure optionnelle 1 (la plus ancienne des 2)
Date avec heure optionnelle 2 (la plus tardive des 2)
Valeur minimum
Valeur minimum utilisée (0 = non, 1 = oui)
Valeur maximum
Valeur maximum utilisée (0 = non, 1 = oui)
Entrypoint indminutesbetweenthrib Compatibles UTF-8
Sortie INTEGER La différence entre les dates 1 et 2 est exprimée en nombre entier de «minutes industrielles»
F_SECONDSBETWEEN Compatible avec GrUDF
Entrypoint secondsbetween Compatibles UTF-8
Sortie INTEGER Différence de temps entre Date 1 et Date 2, en nombre entier de secondes
Cela donne toujours un résultat positif par opposition aux fonctions F_AGEIN qui peuvent aussi fournir un résultat négatif.
TestSQL
SELECT 2 AS ISCORRECT, F_YEARSBETWEEN('01.10.2005 15:01:03','11.10.2007 15:01:03') FROM  RDB$DATABASE;
SELECT 2 AS ISCORRECT, F_YEARSBETWEEN('11.10.2007 15:01:03','01.10.2005 15:01:03') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_YEARSBETWEEN(NULL, NULL) FROM RDB$DATABASE;
SELECT 1 AS ISCORRECT, F_MONTHSBETWEEN('01.10.2005 15:01:03','11.11.2005 15:01:03') FROM RDB$DATABASE;
SELECT 1 AS ISCORRECT, F_MONTHSBETWEEN('11.11.2005 15:01:03','01.10.2005 15:01:03') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_MONTHSBETWEEN(NULL, NULL) FROM RDB$DATABASE;
SELECT 2 AS ISCORRECT, F_WEEKSBETWEEN('01.10.2005 15:01:03','11.10.2005 15:01:03') FROM RDB$DATABASE;
SELECT 2 AS ISCORRECT, F_WEEKSBETWEEN('11.10.2005 15:01:03',’01.10.2005 15:01:03') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_WEEKSBETWEEN(NULL, NULL) FROM RDB$DATABASE;
SELECT 1 AS ISCORRECT, F_WEEKSBETWEENISO('01.10.2005 15:01:03','11.10.2005 15:01:03'), F_WEEKSBETWEEN('01.10.2005 15:01:03','11.10.2005 15:01:03') FROM RDB$DATABASE;
SELECT 10 AS ISCORRECT, F_DAYSBETWEEN('01.10.2005 15:01:03','11.10.2005 15:01:03') FROM RDB$DATABASE;
SELECT 10 AS ISCORRECT, F_DAYSBETWEEN('11.10.2005 15:01:03','01.10.2005 15:01:03') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_DAYSBETWEEN(NULL, NULL) FROM RDB$DATABASE;
SELECT 240 AS ISCORRECT, F_HOURSBETWEEN('01.10.2005 15:01:03','11.10.2005 15:04:03') FROM RDB$DATABASE;
SELECT 240 AS ISCORRECT, F_HOURSBETWEEN('11.10.2005 15:04:03','01.10.2005 15:01:03') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_HOURSBETWEEN(NULL, NULL) FROM RDB$DATABASE;
SELECT 3 AS ISCORRECT, F_MINUTESBETWEEN('01.10.2005 15:01:03','01.10.2005 15:04:03') FROM RDB$DATABASE;
SELECT 3 AS ISCORRECT, F_MINUTESBETWEEN('01.10.2005 15:04:03', '01.10.2005 15:01:03') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_MINUTESBETWEEN(NULL, NULL) FROM RDB$DATABASE;
SELECT 180 AS ISCORRECT, F_SECONDSBETWEEN('01.10.2005 15:01:03','01.10.2005 15:04:03') FROM RDB$DATABASE;
SELECT 180 AS ISCORRECT, F_SECONDSBETWEEN('01.10.2005 15:04:03','01.10.2005 15:01:03') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_SECONDSBETWEEN(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
à partir de remplaçable par EXTRACT(YEARDAY FROM ...)
F_DAYOFYEAR
Compa. avec FreeUDFLib, FreeUDFLibC, FreeUDFLib AvERP, GrUDF
Entrypoint dayofyear Compatibles UTF-8
F_EXTRACTYEARDAY Entrée/Sortie compatibles avec rFunc (EXTRACTYEARDAY)
Entrypoint r_yearday Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie INTEGER Fournit le nombre de jours (jour X de l’année) jusqu’à la date spécifiée
F_DAYOFYEAR: Le comptage commence par 1
F_EXTRACTYEARDAY: Le comptage commence par 0
TestSQL
SELECT 235 AS ISCORRECT, F_DAYOFYEAR('22.08.2004') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_DAYOFYEAR(NULL) FROM RDB$DATABASE;
nach oben • go top •
à partir de remplaçable par EXTRACT(DAY FROM ...)
F_DAYOFMONTH Compa. avec zu FreeUDFLib, FreeUDFLibC, FreeUDFLib AvERP, GrUDF
Entrée/Sortie compatibles avec rFunc (EXTRACTDAY)
Entrypoint dayofmonth Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie INTEGER Fournit le jour du mois
Le comptage commence par 1
TestSQL
SELECT 23 AS ISCORRECT, F_DAYOFMONTH('23.08.2004') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_DAYOFMONTH(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_DAYOFWEEK Compatible avec FreeUDFLib, FreeUDFLibC, FreeUDFLib AvERP, GrUDF
Entrypoint dayofweek Compatibles UTF-8
F_EXTRACTWEEKDAY Entrée/Sortie compatibles avec rFunc (EXTRACTWEEKDAY)
Entrypoint r_weekday Compatibles UTF-8
à partir de remplaçable par EXTRACT(WEEKDAY FROM ...)
F_DOW Entrée/Sortie compatibles avec rFunc (DOW)
Entrypoint r_dow Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie INTEGER Fournit le dernier jour du mois choisi pour l’année choisie
F_DAYOFWEEK: Dimanche = 1, Lundi = 2, Mardi = 3, Mercredi = 4, Jeudi = 5, Vendredi = 6, Samedi = 7
F_EXTRACTWEEKDAY: Dimanche = 0, Lundi = 1, Mardi = 2, Mercredi = 3, Jeudi = 4, Vendredi = 5, Samedi = 6
F_DOW: Dimanche = 7, Lundi = 1, Mardi = 2, Mercredi = 3, Jeudi = 4, Vendredi = 5, Samedi = 6
TestSQL
SELECT 1 AS ISCORRECT, F_DAYOFWEEK('22.08.2004') FROM RDB$DATABASE;
SELECT NULL  AS ISCORRECT, F_DAYOFWEEK(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_DAYSOFMONTH Fonction de adhoc
Entrée/Sortie compatibles avec rFunc (DAYPERMONTH)
Entrypoint daysofmonth Compatibles UTF-8
Entrée INTEGER
INTEGER
Mois en chiffre 
Année
Sortie INTEGER Fournit le nombre de jour (dernier jour) du mois choisi pour l’année choisie
Le comptage commence par 1
TestSQL
SELECT 29 AS ISCORRECT, F_DAYSOFMONTH(2, 2004) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_DAYSOFMONTH(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_LASTDAY Compatible avec GrUDF
Entrypoint lastday Compatibles UTF-8
Entrée INTEGER
INTEGER
Année
Mois en chiffre
Sortie INTEGER Fournit le dernier jour du mois choisi pour l’année choisie
Presqu’identique à F_DAYSOFMONTH ; l’ordre des paramètres est inversé (d’abord Année, puis Mois)
TestSQL
SELECT 29 AS ISCORRECT, F_LASTDAY(2004, 2) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_LASTDAY(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_FIRSTDAYQUARTER Fonction de adhoc
Entrypoint firstdayquarter Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie TIMESTAMP Dates du premier jour du trimestre indiquées comme jour et heure 00:00:00
TestSQL
SELECT '01.07.2008' AS ISCORRECT, F_FIRSTDAYQUARTER('06.09.2008 15:00:00') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_FIRSTDAYQUARTER(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_LASTDAYQUARTER Fonction de adhoc
Entrypoint lastdayquarter Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie TIMESTAMP Dates du dernier jour du trimestre indiquées comme jour et heure 00:00:00
TestSQL
SELECT '30.09.2008' AS ISCORRECT, F_LASTDAYQUARTER('06.09.2008 15:00:00') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_LASTDAYQUARTER(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_FIRSTDAYMONTH Entrée/Sortie compatibles avec rFunc (FIRSTDAYMONTH)
Entrypoint firstdaymonth Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie TIMESTAMP Date avec la premier jour du mois et heure 00:00:00
TestSQL
SELECT '01.01.2007 00:00:00' AS ISCORRECT, F_FIRSTDAYMONTH('03.01.2007 15:00:00') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_FIRSTDAYMONTH(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_LASTDAYMONTH Entrée/Sortie compatibles avec rFunc (LASTDAYMONTH)
Entrypoint lastdaymonth Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie TIMESTAMP Date avec le dernier jour du mois et heure 00:00:00
TestSQL
SELECT '31.01.2007 00:00:00' AS ISCORRECT, F_LASTDAYMONTH('03.01.2007 15:00:00') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_LASTDAYMONTH(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_FIRSTDAYWEEK Fonction de adhoc
Entrypoint firstdayweek Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie TIMESTAMP Dates du premier jour de la semaine US (dimanche) indiquées comme jour et heure 00:00:00
TestSQL
SELECT '21.12.2008' AS ISCORRECT, F_FIRSTDAYWEEK('26.12.2008 15:00:00') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_FIRSTDAYWEEK(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_LASTDAYWEEK Fonction de adhoc
Entrypoint lastdayweek Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie TIMESTAMP Dates du dernier jour de la semaine US (samedi) indiquées comme jour et heure 00:00:00
TestSQL
SELECT '27.12.2008' AS ISCORRECT, F_LASTDAYWEEK('26.12.2008 15:00:00') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_LASTDAYWEEK(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_FIRSTDAYWEEKISO Fonction de adhoc
Entrypoint firstdayweekiso Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie TIMESTAMP Dates du  premier jour de la semaine ISO (lundi) indiquées comme jour et heure 00:00:00
TestSQL
SELECT '22.12.2008' AS ISCORRECT, F_FIRSTDAYWEEKISO('26.12.2008 15:00:00') FROM RDB$DATABASE;
SELECT '29.12.2008' AS ISCORRECT, F_FIRSTDAYWEEKISO('03.01.2009 15:00:00') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_FIRSTDAYWEEKISO(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_LASTDAYWEEKISO Fonction de adhoc
Entrypoint lastdayweekiso Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie TIMESTAMP Dates du dernier jour de la semaine ISO (dimanche) indiquées comme jour et heure 00:00:00
TestSQL
SELECT '28.12.2008' AS ISCORRECT, F_LASTDAYWEEKISO('26.12.2008 15:00:00') FROM RDB$DATABASE;
SELECT '04.01.2009' AS ISCORRECT, F_LASTDAYWEEKISO('29.12.2008 15:00:00') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_LASTDAYWEEKISO(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_FIRSTDAYWOY Fonction de adhoc
Entrypoint firstdaywoy Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie TIMESTAMP Date du premier jour de la semaine US, avec heure 00 :00 :00
TestSQL
SELECT '26.12.2004' AS ISCORRECT, F_FIRSTDAYWOY(1, 2005) FROM RDB$DATABASE;;
SELECT NULL AS ISCORRECT, F_FIRSTDAYWOY(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_LASTDAYWOY Fonction de adhoc
Entrypoint lastdaywoy Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie TIMESTAMP Date du dernier jour de la semaine US, avec heure 00 :00 :00
TestSQL
SELECT '01.01.2005' AS ISCORRECT, F_LASTDAYWOY(1, 2005) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_LASTDAYWOY(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_FIRSTDAYKW Fonction de adhoc
Entrypoint firstdaykw Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie TIMESTAMP Date du premier jour de la semaine selon ISO, avec heure 00 :00 :00
TestSQL
SELECT '27.12.2004' AS ISCORRECT, F_FIRSTDAYKW(53, 2004) FROM RDB$DATABASE;
SELECT '03.01.2005' AS ISCORRECT, F_FIRSTDAYKW(1, 2005) FROM RDB$DATABASE;
SELECT '28.04.2008' AS ISCORRECT, F_FIRSTDAYKW(18, 2008) FROM RDB$DATABASE;
SELECT '23.03.2009' AS ISCORRECT, F_FIRSTDAYKW(13, 2009) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_FIRSTDAYKW(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_LASTDAYKW Fonction de adhoc
Entrypoint lastdaykw Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie TIMESTAMP Date du dernier jour de la semaine selon ISO, avec heure 00 :00 :00
TestSQL
SELECT '02.01.2005' AS ISCORRECT, F_LASTDAYKW(53, 2004) FROM RDB$DATABASE;
SELECT '09.01.2005' AS ISCORRECT, F_LASTDAYKW(1, 2005) FROM RDB$DATABASE;
SELECT '04.05.2008' AS ISCORRECT, F_LASTDAYKW(18, 2008) FROM RDB$DATABASE;
SELECT '29.03.2009' AS ISCORRECT, F_LASTDAYKW(13, 2009) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_LASTDAYKW(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_FIRSTDAYLASTQUARTER Funktion von adhoc
Entrypoint firstdaylastquarter Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle 
Sortie TIMESTAMP Dates du premier jour du dernier trimestre indiquées comme jour et heure 00:00:00
TestSQL
SELECT '01.01.2009' AS ISCORRECT, F_FIRSTDAYLASTQUARTER('08.05.2009 15:00:00') FROM RDB$DATABASE;
SELECT '01.10.2008' AS ISCORRECT, F_FIRSTDAYLASTQUARTER('08.02.2009 15:00:00') FROM RDB$DATABASE;
nach oben • go top •
F_LASTDAYLASTQUARTER Funktion von adhoc
Entrypoint lastdaylastquarter Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle 
Sortie TIMESTAMP Dates du dernier jour du dernier trimestre indiquées comme jour et heure 00:00:00
TestSQL
SELECT '31.03.2009' AS ISCORRECT, F_LASTDAYLASTQUARTER('08.05.2009 15:00:00') FROM RDB$DATABASE;
SELECT '31.12.2008' AS ISCORRECT, F_LASTDAYLASTQUARTER('08.02.2009 15:00:00') FROM RDB$DATABASE;
nach oben • go top •
F_FIRSTDAYLASTMONTH Entrée/Sortie-kompatibel zu rFunc (FIRSTDAYMONTH)
Entrypoint firstdaylastmonth Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle 
Sortie TIMESTAMP Date avec la premier jour du dernier mois et heure 00:00:00
TestSQL
SELECT '01.04.2009' AS ISCORRECT, F_FIRSTDAYLASTMONTH('08.05.2009 15:00:00') FROM RDB$DATABASE;
SELECT '01.12.2008' AS ISCORRECT, F_FIRSTDAYLASTMONTH('03.01.2009 15:00:00') FROM RDB$DATABASE;
nach oben • go top •
F_LASTDAYLASTMONTH Entrée/Sortie-kompatibel zu rFunc (LASTDAYMONTH)
Entrypoint lastdaylastmonth Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle 
Sortie TIMESTAMP Date avec la dernier jour du dernier mois et heure 00:00:00
TestSQL
SELECT '30.04.2009' AS ISCORRECT, F_LASTDAYLASTMONTH('08.05.2009 15:00:00') FROM RDB$DATABASE;
SELECT '31.12.2008' AS ISCORRECT, F_LASTDAYLASTMONTH('03.01.2009 15:00:00') FROM RDB$DATABASE;
nach oben • go top •
F_FIRSTDAYLASTWEEK Funktion von adhoc
Entrypoint firstdaylastweek Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle 
Sortie TIMESTAMP Dates du premier jour de la dernier semaine US (dimanche) indiquées comme jour et heure 00:00:00
TestSQL
SELECT '26.04.2009' AS ISCORRECT, F_FIRSTDAYLASTWEEK('08.05.2009 15:00:00') FROM RDB$DATABASE;
SELECT '21.12.2008' AS ISCORRECT, F_FIRSTDAYLASTWEEK('02.01.2009 15:00:00') FROM RDB$DATABASE;
nach oben • go top •
F_LASTDAYLASTWEEK Funktion von adhoc
Entrypoint lastdaylastweek Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle 
Sortie TIMESTAMP Dates du dernier jour de la dernier semaine US (samedi) indiquées comme jour et heure 00:00:00
TestSQL
SELECT '02.05.2009' AS ISCORRECT, F_LASTDAYLASTWEEK('08.05.2009 15:00:00') FROM RDB$DATABASE;
SELECT '27.12.2008' AS ISCORRECT, F_LASTDAYLASTWEEK('02.01.2009 15:00:00') FROM RDB$DATABASE;
nach oben • go top •
F_FIRSTDAYLASTWEEKISO Funktion von adhoc
Entrypoint firstdaylastweekiso Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle 
Sortie TIMESTAMP Dates du premier jour de la dernier semaine ISO (lundi) indiquées comme jour et heure 00:00:00
TestSQL
SELECT '27.04.2009' AS ISCORRECT, F_FIRSTDAYLASTWEEKISO('08.05.2009 15:00:00') FROM RDB$DATABASE;
SELECT '22.12.2008' AS ISCORRECT, F_FIRSTDAYLASTWEEKISO('02.01.2009 15:00:00') FROM RDB$DATABASE;
nach oben • go top •
F_LASTDAYLASTWEEKISO Funktion von adhoc
Entrypoint lastdaylastweekiso Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle 
Sortie TIMESTAMP Dates du dernier jour de la dernier semaine ISO (dimanche) indiquées comme jour et heure 00:00:00
TestSQL
SELECT '03.05.2009' AS ISCORRECT, F_LASTDAYLASTWEEKISO('08.05.2009 15:00:00') FROM RDB$DATABASE;
SELECT '28.12.2008' AS ISCORRECT, F_LASTDAYLASTWEEKISO('02.01.2009 15:00:00') FROM RDB$DATABASE;
nach oben • go top •
F_FIRSTDAYNEXTQUARTER Funktion von adhoc
Entrypoint firstdaynextquarter Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle 
Sortie TIMESTAMP Dates du premier jour du prochain trimestre indiquées comme jour et heure 00:00:00
TestSQL
SELECT '01.07.2009' AS ISCORRECT, F_FIRSTDAYNEXTQUARTER('08.05.2009 15:00:00') FROM RDB$DATABASE;
SELECT '01.01.2010' AS ISCORRECT, F_FIRSTDAYNEXTQUARTER('08.11.2009 15:00:00') FROM RDB$DATABASE;
nach oben • go top •
F_LASTDAYNEXTQUARTER Funktion von adhoc
Entrypoint lastdaynextquarter Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle 
Sortie TIMESTAMP Dates du dernier jour du prochain trimestre indiquées comme jour et heure 00:00:00
TestSQL
SELECT '30.09.2009' AS ISCORRECT, F_LASTDAYNEXTQUARTER('08.05.2009 15:00:00') FROM RDB$DATABASE;
SELECT '31.03.2010' AS ISCORRECT, F_LASTDAYNEXTQUARTER('08.11.2009 15:00:00') FROM RDB$DATABASE;
nach oben • go top •
F_FIRSTDAYNEXTMONTH Entrée/Sortie-kompatibel zu rFunc (FIRSTDAYMONTH)
Entrypoint firstdaynextmonth Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle 
Sortie TIMESTAMP Date avec la premier jour du prochain mois et heure 00:00:00
TestSQL
SELECT '01.06.2009' AS ISCORRECT, F_FIRSTDAYNEXTMONTH('08.05.2009 15:00:00') FROM RDB$DATABASE;
SELECT '01.01.2010' AS ISCORRECT, F_FIRSTDAYNEXTMONTH('08.12.2009 15:00:00') FROM RDB$DATABASE;
nach oben • go top •
F_LASTDAYNEXTMONTH Entrée/Sortie-kompatibel zu rFunc (LASTDAYMONTH)
Entrypoint lastdaynextmonth Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle 
Sortie TIMESTAMP Date avec la dernier jour du prochain mois et heure 00:00:00
TestSQL
SELECT '30.06.2009' AS ISCORRECT, F_LASTDAYNEXTMONTH('08.05.2009 15:00:00') FROM RDB$DATABASE;
SELECT '31.01.2010' AS ISCORRECT, F_LASTDAYNEXTMONTH('08.12.2009 15:00:00') FROM RDB$DATABASE;
nach oben • go top •
F_FIRSTDAYNEXTWEEK Funktion von adhoc
Entrypoint firstdaynextweek Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle 
Sortie TIMESTAMP Dates du premier jour de la prochain semaine US (dimanche) indiquées comme jour et heure 00:00:00
TestSQL
SELECT '10.05.2009' AS ISCORRECT, F_FIRSTDAYNEXTWEEK('08.05.2009 15:00:00') FROM RDB$DATABASE;
SELECT '04.01.2009' AS ISCORRECT, F_FIRSTDAYNEXTWEEK('30.12.2008 15:00:00') FROM RDB$DATABASE;
nach oben • go top •
F_LASTDAYNEXTWEEK Funktion von adhoc
Entrypoint lastdaynextweek Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle 
Sortie TIMESTAMP Dates du dernier jour de la prochain semaine US (dimanche) indiquées comme jour et heure 00:00:00
TestSQL
SELECT '16.05.2009' AS ISCORRECT, F_LASTDAYNEXTWEEK('08.05.2009 15:00:00') FROM RDB$DATABASE;
SELECT '10.01.2009' AS ISCORRECT, F_LASTDAYNEXTWEEK('30.12.2008 15:00:00') FROM RDB$DATABASE;
nach oben • go top •
F_FIRSTDAYNEXTWEEKISO Funktion von adhoc
Entrypoint firstdaynextweekiso Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle 
Sortie TIMESTAMP Dates du premier jour de la prochain semaine ISO (lundi) indiquées comme jour et heure 00:00:00
TestSQL
SELECT '11.05.2009' AS ISCORRECT, F_FIRSTDAYNEXTWEEKISO('08.05.2009 15:00:00') FROM RDB$DATABASE;
SELECT '05.01.2009' AS ISCORRECT, F_FIRSTDAYNEXTWEEKISO('30.12.2008 15:00:00') FROM RDB$DATABASE;
nach oben • go top •
F_LASTDAYNEXTWEEKISO Funktion von adhoc
Entrypoint lastdaynextweekiso Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle 
Sortie TIMESTAMP Dates du dernier jour de la prochain semaine ISO (dimanche) indiquées comme jour et heure 00:00:00
TestSQL
SELECT '17.05.2009' AS ISCORRECT, F_LASTDAYNEXTWEEKISO('08.05.2009 15:00:00') FROM RDB$DATABASE;
SELECT '11.01.2009' AS ISCORRECT, F_LASTDAYNEXTWEEKISO('30.12.2008 15:00:00') FROM RDB$DATABASE;
nach oben • go top •
F_DTIME Fonction de adhoc
Entrypoint dtime Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie INTEGER Calcule le nombre de jours depuis le 31-12-1899 jusqu’à la date choisie
Le comptage commence par 0.
TestSQL
SELECT 2 AS ISCORRECT, F_DTIME('03.01.1900') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_DTIME(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_ISLEAPYEAR Compatible avec FreeUDFLibC
Entrypoint isleapyear Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie INTEGER Résultat 1 = année bissextile, 0 = non bissextile
Algorithme Y2k-fest (2000 était une année bissextile).
TestSQL
SELECT 1 AS ISCORRECT, F_ISLEAPYEAR('22.08.2000 14:38:12') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_ISLEAPYEAR(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_RISLEAPYEAR Entrée/Sortie compatibles avec rFunc (ISLEAPYEAR)
Entrypoint r_isleapyear Compatibles UTF-8
Entrée INTEGER Année
Sortie INTEGER Résultat 1 = année bissextile, 0 = non bissextile
Algorithme Y2k-fest (2000 était une année bissextile).
TestSQL
SELECT 1 AS ISCORRECT, F_RISLEAPYEAR(2000) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_RISLEAPYEAR(NULL) FROM RDB$DATABASE
nach oben • go top •
F_ZEITDIFFERENZ Compatible avec FreeUDFLib AvERP, GrUDF
Entrypoint zeitdifferenz Compatibles UTF-8
Entrée TIMESTAMP
TIMESTAMP
CSTRING(1)
Date 1 avec heure optionnelle
Date 2 avec heure optionnelle
Forme de sortie
        t = différence en jours
        h = différence en heures
        m = différence en minutes
        s = différence en secondes
toutes les autres valeurs renvoient toujours 0
Sortie DOUBLE Calcule la différence entre la date 1 et la date 2; le résultat est une valeur en virgule flottante tenant compte du choix du paramètre 3
TestSQL
SELECT 1.000 AS ISCORRECT, F_ZEITDIFFERENZ('02.10.2005 15:00:00', '01.10.2005 15:00:00', 't') FROM RDB$DATABASE;
SELECT 1.125 AS ISCORRECT, F_ZEITDIFFERENZ('02.10.2005 18:00:00', '01.10.2005 15:00:00', 't') FROM RDB$DATABASE;
SELECT 26.500 AS ISCORRECT, F_ZEITDIFFERENZ('02.10.2005 18:00:00', '01.10.2005 15:30:00', 'h') FROM RDB$DATABASE;
SELECT 1589.500 AS ISCORRECT, F_ZEITDIFFERENZ('02.10.2005 18:00:00', '01.10.2005 15:30:30', 'm') FROM RDB$DATABASE;
SELECT 95370.000 AS ISCORRECT, F_ZEITDIFFERENZ('02.10.2005 18:00:00', '01.10.2005 15:30:30', 's') FROM RDB$DATABASE;
SELECT 0.000 AS ISCORRECT, F_ZEITDIFFERENZ('02.10.2005 18:00:00', '01.10.2005 15:30:30', 'x') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_ZEITDIFFERENZ(NULL, NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_COUNTWEEKDAYS Fonction de adhoc
Entrypoint countweekdays Compatibles UTF-8
Entrée TIMESTAMP1
TIMESTAMP2
INTEGER
Date 1 avec heure optionnelle
Date 2 avec heure optionnelle
Numéro du jour de la semaine
Sortie INTEGER Nombre de présences du jour choisi dans l’intervalle de temps.
Lundi = 1, Mardi = 2, Mercredi = 3, Jeudi = 4, Vendredi = 5, Samedi = 6, Dimanche = 7.
Fournit le nombre de fois que le jour choisi est présent dans l’intervalle des dates 1 à 2.
À partir de la version adhoc20090128
- la date et heure 1 ne peut plus être antérieure à la date et heure 2

 renvoie toujours 0 pour tous les index de jours de semaine < 1 ou > 7
TestSQL

SELECT 4 AS ISCORRECT, F_COUNTWEEKDAYS('04.02.2008', '27.02.2008', 2) FROM RDB$DATABASE;
SELECT 4 AS ISCORRECT, F_COUNTWEEKDAYS('05.02.2008', '26.02.2008', 2) FROM RDB$DATABASE;
SELECT 3 AS ISCORRECT, F_COUNTWEEKDAYS('06.02.2008', '27.02.2008', 2) FROM RDB$DATABASE;
SELECT 1 AS ISCORRECT, F_COUNTWEEKDAYS('12.12.2008', '17.12.2008', 6) FROM RDB$DATABASE;
SELECT 1 AS ISCORRECT, F_COUNTWEEKDAYS('17.12.2008', '12.12.2008', 6) FROM RDB$DATABASE;
SELECT 0 AS ISCORRECT, F_COUNTWEEKDAYS('12.12.2008', '17.12.2008', 9) FROM RDB$DATABASE;
SELECT 0 AS ISCORRECT, F_COUNTWEEKDAYS('12.12.2008', '17.12.2008', -5) FROM RDB$DATABASE;

SELECT NULL AS ISCORRECT, F_COUNTWEEKDAYS(NULL, NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
Avertissement concernant le calcul d’une semaine de l’année – Semaine calendaire (voir notamment Wikipedia:
L’année comprend au minimum 52 semaines calendaires pour lesquelles il existe différents systèmes de numérotation. Selon le système, la première semaine de l’année est
    * celle qui contient le 1er janvier (USA, fonction Excel NO.SEMAINE)
    * la première semaine comprenant au minimum quatre jours de la nouvelle année (DIN 1355 / ISO 8601)
    * la première semaine se trouvant entièrement dans l’année (méthode rare)
La norme internationale ISO 8601 (1973) fixe lundi comme premier jour de la semaine. Depuis 1976, l’Allemagne a adopté ce système (DIN 1355). En 1978 l’ONU a également décidé, au niveau international, que le premier jour de la semaine serait le lundi.
Il en découle les règles suivantes:
    * chaque lundi – et seulement le lundi – est le premier jour d’une semaine
    * la première semaine calendaire est la première qui contient au moins 4 jours de la nouvelle année
De ces règles, on déduit les caractéristiques suivantes:
    * Il n’y a pas de semaine incomplète; toutes sans exception comportent 7 jours;
    * Chaque année contient 52 ou 53 semaines calendaires;
    * Une année comporte 53 semaines lorsqu’elle commence ou qu’elle finit par un jeudi;
    * Les 29, 30 et 31 décembre peuvent déjà faire partie de la première semaine de l’année suivante;
    * Les 1, 2 et 3 janvier peuvent encore faire partie de la dernière semaine de l’année précédente.
Dans de vastes parties du monde (par exemple aux États-Unis et en Australie) la tradition juive et chrétienne a conservé le dimanche comme premier jour de la semaine. Aux USA et dans les pays utilisant ce système, les règles suivantes s’appliquent:
    * Chaque dimanche commence une nouvelle semaine calendaire;
    * Le 1er janvier – quel que soit le jour de la semaine – commence la première semaine calendaire.
Il en résulte les propriétés suivantes:
    * La première et la dernière semaine calendaire ne doivent pas être complètes, c’est-à-dire qu’elles peuvent comprendre moins de 7 jours
    * Chaque année comporte 53 semaines calendaires
    * Au cas où le 31 décembre tombe un dimanche, le 1er janvier de la même année n’est pas un dimanche et ce dimanche 31 décembre est le seul jour d’une 54e semaine calendaire (ce cas se présente rarement: la dernière fois en 2000, la prochaine fois en 2028).
Malheureusement, Gregory Deatz n’a pas bien lu les règles, de sorte que quelques fonctions ne se calculent ni suivant la «norme des USA» ni selon la norme ISO (lors des calculs, dimanche débute la semaine). Cela concerne les fonctions F_YEAROFYEAR, F_WEEKOFYEAR et F_WOY. Ces fonctions ne devraient pas être utilisées.
Les fonctions F_YEAR et F_WEEK calculent selon la «norme des USA», les fonctions F_KALENDERWOCHE et F_WOYISO selon la norme ISO 8601.
à partir de remplaçable par EXTRACT(YEAR FROM ...)
F_YEAR
 
Compa. avec FreeUDFLib, FreeUDFLibC, FreeUDFLib AvERP, GrUDF
Compatible avec FreeUDFLibC
Entrypoint year Compatibles UTF-8
F_YEAROFYEAR (ne pas utiliser) Entrée/Sortie compatibles avec rFunc (EXTRACTYEAR)
Entrypoint yearofyear Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie INTEGER Fournit l’année de la date choisie
F_YEAR calcule selon la norme des USA: la semaine commence le dimanche, la première semaine est celle comprenant le 1er janvier.
F_YEAROFYEAR calcule selon une norme ISO erronée: la semaine commence le dimanche, la première semaine commence un dimanche et se termine un mercredi.
TestSQL
SELECT 2004 AS ISCORRECT, F_YEAR(' 22.08.2004 14:38:12') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_YEAR(NULL) FROM RDB$DATABASE;
SELECT 2004 AS ISCORRECT, F_YEAROFYEAR(' 22.08.2004 14:38:12') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_YEAROFYEAR(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_QUARTER Compa. avec FreeUDFLib, FreeUDFLibC, FreeUDFLib AvERP, GrUDF
Entrée/Sortie compatibles avec rFunc (QUARTER)
Entrypoint quarter Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie INTEGER Fournit le trimestre de la date choisie
TestSQL
SELECT 3 AS ISCORRECT, F_QUARTER('23.08.2004 14:38:12') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_QUARTER(NULL) FROM RDB$DATABASE;
nach oben • go top •
à partir de remplaçable par EXTRACT(MONTH FROM ...)
F_MONTH Compa. avec FreeUDFLib, FreeUDFLibC, FreeUDFLib AvERP, GrUDF
Entrée/Sortie compatibles avec rFunc (EXTRACTMONTH)
Entrypoint month Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie INTEGER Fournit le numéro du mois de la date choisie
TestSQL
SELECT 8 AS ISCORRECT, F_MONTH('23.08.2004 14:38:12') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_MONTH(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_WEEK
Compa. avec FreeUDFLib, FreeUDFLibC, FreeUDFLib AvERP, GrUDF
Entrypoint week Compatibles UTF-8
F_WEEKOFYEAR (ne pas utiliser) Compatible avec zu FreeUDFLibC
Entrypoint weekofyear Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie INTEGER Fournit la semaine de la date choisie
Le comptage commence à la semaine 1 dans laquelle tombe le 1er janvier.
TestSQL
SELECT 52 AS ISCORRECT, F_WEEK('28.12.2003') FROM RDB$DATABASE;
SELECT 52 AS ISCORRECT, F_WEEK('29.12.2003') FROM RDB$DATABASE;
SELECT 1 AS ISCORRECT, F_WEEK('01.01.2005') FROM RDB$DATABASE;
SELECT 41 AS ISCORRECT, F_WEEK('02.10.2005 14:38:12') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_WEEK(NULL) FROM RDB$DATABASE;
SELECT 34 AS ISCORRECT, F_WEEKOFYEAR('22.08.2004 14:38:12') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_WEEKOFYEAR(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_WOY (ne pas utiliser) Compatible avec FreeUDFLib, FreeUDFLibC, FreeUDFLib AvERP
Entrypoint woy Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie CSTRING(7) Fournit l’année et la semaine de l’année concaténées
Calcule selon Gregory Deatz l’année et le numéro de semaine qui comprennent la date donnée (avec dimanche = 1 comme 1er jour de la semaine, voir ci-dessus)
TestSQL
SELECT '200434' AS ISCORRECT, F_WOY('22.08.2004 14:38:12') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_WOY(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_WOYISO Fonction de adhoc
Entrypoint woyiso Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie CSTRING(6) Année et numéro de semaine en chaînes de 4 et de 2 caractères
Calcule, selon la norme ISO, l’année et le numéro de semaine qui comprennent la date donnée. Si le 1er janvier tombe dans les semaines 52, 53 ou 54 de l’année précédente, l’année fournie est également l’année précédente.
SELECT '200453' AS ISCORRECT, F_WOYISO('01.01.2005') FROM RDB$DATABASE;
SELECT '200539' AS ISCORRECT, F_WOYISO('02.10.2005 14:38:12') FROM RDB$DATABASE;
SELECT F_WOYISO('22.08.2009 14:38:12'), F_WOY('22.08.2009 14:38:12') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_WOYISO(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_KALENDERWOCHE Fonction de adhoc
Entrypoint week Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie INTEGER Le numéro de la semaine calendaire de la date choisie selon ISO 8601
Calcul selon ISO 8601: Le comptage commence à la semaine comprenant au moins 4 jours de la nouvelle année.
TestSQL
SELECT 52 AS ISCORRECT, F_KALENDERWOCHE('28.12.2003') FROM RDB$DATABASE;
SELECT 1 AS ISCORRECT, F_KALENDERWOCHE('29.12.2003') FROM RDB$DATABASE;
SELECT 53 AS ISCORRECT, F_KALENDERWOCHE('01.01.2005') FROM RDB$DATABASE;
SELECT 39 AS ISCORRECT, F_KALENDERWOCHE('02.10.2005') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_KALENDERWOCHE(NULL) FROM RDB$DATABASE;
nach oben • go top •
à partir de remplaçable par EXTRACT(HOUR FROM ...)
F_HOUR Compatible avec FreeUDFLibC, GrUDF
Entrée/Sortie compatibles avec rFunc ( EXTRACTHOUR)
Entrypoint hour Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie INTEGER Fournit l’heure contenue dans le paramètre 1
Si le paramètre 1 ne contient que la date, alors l’heure sera 0.
TestSQL
SELECT 14 AS ISCORRECT, F_HOUR('23.08.2004 14:38:12') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_HOUR(NULL) FROM RDB$DATABASE;
nach oben • go top •
à partir de remplaçable par EXTRACT(MINUTE FROM ...)
F_MINUTE Compatible avec FreeUDFLibC, GrUDF
Entrée/Sortie compatibles avec rFunc ( EXTRACTMINUTE)
Entrypoint minute Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie INTEGER Fournit les minutes contenues dans la date et heure spécifiée
Si la date est seule fournie, le résultat sera 0.
TestSQL
SELECT 38 AS ISCORRECT, F_MINUTE('23.08.2004 14:38:12') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_MINUTE(NULL) FROM RDB$DATABASE;
nach oben • go top •
à partir de remplaçable par EXTRACT(SECOND FROM ...)
F_SECOND Compatible avec FreeUDFLibC, GrUDF
Entrée/Sortie compatibles avec rFunc ( EXTRACTSECOND)
Entrypoint second Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie INTEGER Fournit les secondes contenues dans la date et heure spécifiée
Si la date est seule fournie, le résultat sera 0.
TestSQL
SELECT 12 AS ISCORRECT, F_SECOND('23.08.2004 14:38:12') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_SECOND(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_MILLISECOND Entrée/Sortie compatibles avec rFunc ( EXTRACTMILLISECOND)
Entrypoint millisecond Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie INTEGER Fournit les millisecondes contenues dans la date et heure spécifiée
Si la date est seule fournie, le résultat sera 0.
TestSQL
SELECT 3456 AS ISCORRECT, F_MILLISECOND('23.08.2004 14:38:12 3456') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_MILLISECOND(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_TZVALUETOUTC
Fonction de adhoc
Entrypoint tzvalue_to_utc Compatibles UTF-8
Entrée sans
Sortie DOUBLE différence en heures entre date et heure locale et UTC
TestSQL
SELECT CAST(DATEDIFF(MINUTE, CURRENT_TIMESTAMP, F_LOCAL2UTC(CURRENT_TIMESTAMP)) / 60 AS DOUBLE PRECISION) AS ISCORRECT, F_TZVALUETOUTC() FROM RDB$DATABASE
nach oben • go top •
 
Fonctions de dates et de temps: Formatages
F_CMONTHLONG Compatible avec FreeUDFLibC
Entrypoint cmonthlong Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie CSTRING(16) Fournit le nom du mois en anglais
TestSQL
SELECT 'August' AS ISCORRECT, F_CMONTHLONG('23.08.2004') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_CMONTHLONG(NULL) FROM RDB$DATABASE;
nach oben • go top •
U_MONTHLONG Compatible avec FreeUDFLib, FreeUDFLib AvERP, GrUDF
Entrypoint cmonthlong Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie CSTRING(16) le mois dans la langue du système d‘exploitation
TestSQL
SELECT 'August' AS ISCORRECT, U_MONTHLONG('23.08.2004') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, U_MONTHLONG(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_CMONTHLONGLANG Fonction de adhoc
Entrypoint cmonthlonglang Pas compatible UTF-8 - utiliser U_MONTHLONGLANG
Entrée TIMESTAMP
CSTRING(2)
Date avec heure optionnelle
Indicatif de la langue pour le résultat
Sortie CSTRING(16) Fournit le nom du mois dans la langue choisie
Version linguistique de F_CMONTHLONG
Indicatif de la langue: uk = anglais, de = allemand, fr = français, it = italien, es = espagnol, pt = portugais, nl = néerlandais, no = norvégien Bokmål, se = suédois, dk = danois, fi = finlandais, hu = hongrois, ie = irlandais (gaélique),
ee = estonien, is = islandais, al = albanais, va = latin, v1 = latin ecclésiastique, c1 = catalan, s1 = écossais,
s2 = écossais gallique, w1 = valaisan, b1 = breton, b2 = basque, n1 = norvégien Nynorsk, za = sud-africain,
fo = féroien, lu = luxembourgeois, w2 = wallon

TestSQL
SELECT 'Août' AS ISCORRECT, F_CMONTHLONGLANG('23.08.2004', 'fr') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_CMONTHLONGLANG(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
U_MONTHLONGLANG Fonction de adhoc
Entrypoint u_monthlonglang Compatibles UTF-8
Entrée TIMESTAMP
CSTRING(2)
Date avec heure optionnelle
Indicatif de la langue pour le résultat
Sortie CSTRING(16) Fournit le nom du mois dans la langue choisie
Version localisée de U_MONTHLONG
Code le langue: 2 caractères caractérisant la langue, comme fr pour français.
= basque, n1 = norvégien Nynorsk, za = sud-africain,
fo = féroien, lu = luxembourgeois, w2 = wallon

TestSQL
SELECT 'Août' AS ISCORRECT, U_MONTHLONGLANG('23.08.2004', 'fr') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, U_MONTHLONGLANG(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_CMONTHSHORT Compatible avec FreeUDFLibC
Entrypoint cmonthshort Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie CSTRING(4) Fournit l’abréviation du nom du mois en anglais
TestSQL
SELECT 'Aug' AS ISCORRECT, F_CMONTHSHORT('23.08.2004') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_CMONTHSHORT(NULL) FROM RDB$DATABASE;
nach oben • go top •
U_MONTHSHORT Compatible avec FreeUDFLib, FreeUDFLib AvERP, GrUDF
Entrypoint u_monthshort Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie CSTRING(4) le mois abrégé dans la langue du système d‘exploitation
TestSQL
SELECT 'Aug' AS ISCORRECT, U_MONTHSHORT('23.08.2004') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, U_MONTHSHORT(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_CMONTHSHORTLANG Fonction de adhoc
Entrypoint cmonthshortlang Pas compatible UTF-8 -  utiliser U_MONTHSHORTLANG
Entrée TIMESTAMP
CSTRING(2)
Date avec heure optionnelle
Indicatif de la langue pour le résultat
Sortie CSTRING(4) Fournit l’abréviation du nom du mois dans la langue choisie
Version linguistique de F_CMONTHSHORT.
Indicatif de la langue: uk = anglais, de = allemand, fr = français, it = italien, es = espagnol, pt = portugais, nl = néerlandais, no = norvégien Bokmål, se = suédois, dk = danois, fi = finlandais, hu = hongrois, ie = irlandais (gaélique),
ee = estonien, is = islandais, al = albanais, va = latin, v1 = latin ecclésiastique, c1 = catalan, s1 = écossais,
s2 = écossais gallique, w1 = valaisan, b1 = breton, b2 = basque, n1 = norvégien Nynorsk, za = sud-africain,
fo = féroien, lu = luxembourgeois, w2 = wallon

TestSQL
SELECT 'Aoû' AS ISCORRECT, F_CMONTHSHORTLANG('23.08.2004', 'fr') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_CMONTHSHORTLANG(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
U_MONTHSHORTLANG Fonction de adhoc
Entrypoint u_monthshortlang Compatibles UTF-8
Entrée TIMESTAMP
CSTRING(2)
Date avec heure optionnelle
Indicatif de la langue pour le résultat
Sortie CSTRING(4) Fournit l’abréviation du nom du mois dans la langue choisie
Version linguistique de F_CMONTHSHORT.
Code le langue: 2 caractères caractérisant la langue, comme fr pour français.= basque, n1 = norvégien Nynorsk, za = sud-africain,
fo = féroien, lu = luxembourgeois, w2 = wallon

TestSQL
SELECT 'Aoû' AS ISCORRECT, U_MONTHSHORTLANG('23.08.2004', 'fr') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, U_MONTHSHORTLANG(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_CDOWLONG Compatible avec FreeUDFLibC
Entrypoint cdowlong Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie CSTRING(16) Fournit le nom du jour de la semaine en anglais
TestSQL
SELECT 'Monday' AS ISCORRECT, F_CDOWLONG('23.08.2004') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_CDOWLONG(NULL) FROM RDB$DATABASE;
nach oben • go top •
U_DOWLONG Compatible avec FreeUDFLib, FreeUDFLib AvERP, GrUDF
Entrypoint u_dowlong Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie CSTRING(16) le jour de la semaine dans la langue du système d‘exploitation
TestSQL
SELECT 'Lundi' AS ISCORRECT, U_DOWLONG('23.08.2004') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, U_DOWLONG(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_CDOWLONGLANG Fonction de adhoc
Entrypoint cdowlonglang Pas compatible UTF-8 -  utiliser U_DOWLONGLANG
Entrée TIMESTAMP
CSTRING(2)
Date avec heure optionnelle
Indicatif de la langue pour le résultat
Sortie CSTRING(16) Fournit le nom du jour de la semaine dans la langue choisie
Version linguistique de F_CDOWLONG.
Indicatif de la langue: uk = anglais, de = allemand, fr = français, it = italien, es = espagnol, pt = portugais, nl = néerlandais, no = norvégien Bokmål, se = suédois, dk = danois, fi = finlandais, hu = hongrois, ie = irlandais (gaélique),
ee = estonien, is = islandais, al = albanais, va = latin, v1 = latin ecclésiastique, c1 = catalan, s1 = écossais,
s2 = écossais gallique, w1 = valaisan, b1 = breton, b2 = basque, n1 = norvégien Nynorsk, za = sud-africain,
fo = féroien, lu = luxembourgeois, w2 = wallon

TestSQL
SELECT 'Lundi' AS ISCORRECT, F_CDOWLONGLANG('23.08.2004', 'fr') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_CDOWLONGLANG(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
U_DOWLONGLANG Fonction de adhoc
Entrypoint u_dowlonglang Compatibles UTF-8
Entrée TIMESTAMP
CSTRING(2)
Date avec heure optionnelle
Indicatif de la langue pour le résultat
Sortie CSTRING(16) Fournit le nom du jour de la semaine dans la langue choisie
Version linguistique de F_CDOWLONG.
Code le langue: 2 caractères caractérisant la langue, comme fr pour français.= basque, n1 = norvégien Nynorsk, za = sud-africain,
fo = féroien, lu = luxembourgeois, w2 = wallon

TestSQL
SELECT 'Lundi' AS ISCORRECT, U_DOWLONGLANG('23.08.2004', 'fr') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, U_DOWLONGLANG(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_CDOWSHORT Compatible avec FreeUDFLibC
Entrypoint cdowshort Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie CSTRING(4) Fournit l’abréviation du nom du jour de la semaine en anglais
TestSQL
SELECT 'Mon' AS ISCORRECT, F_CDOWSHORT('23.08.2004') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_CDOWSHORT(NULL) FROM RDB$DATABASE;
nach oben • go top •
U_DOWSHORT Compatible avec FreeUDFLib, FreeUDFLib AvERP, GrUDF
Entrypoint u_dowshort Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie CSTRING(4) le jour de la semaine abrégé dans la langue du système d‘exploitation
TestSQL
SELECT 'Mon' AS ISCORRECT, U_DOWSHORT('23.08.2004') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, U_DOWSHORT(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_CDOWSHORTLANG Fonction de adhoc
Entrypoint cdowshortlang Pas compatible UTF-8 -  utiliser U_DOWSHORTLANG
Entrée TIMESTAMP
CSTRING(2)
Date avec heure optionnelle
Indicatif de la langue pour le résultat
Sortie CSTRING(16) Fournit l’abréviation du nom du jour de la semaine dans la langue choisie
Version linguistique de F_CDOWSHORT.
Indicatif de la langue: uk = anglais, de = allemand, fr = français, it = italien, es = espagnol, pt = portugais, nl = néerlandais, no = norvégien Bokmål, se = suédois, dk = danois, fi = finlandais, hu = hongrois, ie = irlandais (gaélique),
ee = estonien, is = islandais, al = albanais, va = latin, v1 = latin ecclésiastique, c1 = catalan, s1 = écossais,
s2 = écossais gallique, w1 = valaisan, b1 = breton, b2 = basque, n1 = norvégien Nynorsk, za = sud-africain,
fo = féroien, lu = luxembourgeois, w2 = wallon

TestSQL
SELECT 'Lun' AS ISCORRECT, F_CDOWSHORTLANG('23.08.2004', 'fr') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_CDOWSHORTLANG(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
U_DOWSHORTLANG Fonction de adhoc
Entrypoint u_dowshortlang Compatibles UTF-8
Entrée TIMESTAMP
CSTRING(2)
Date avec heure optionnelle
Indicatif de la langue pour le résultat
Sortie CSTRING(16) Fournit l’abréviation du nom du jour de la semaine dans la langue choisie
Version linguistique de F_CDOWSHORT.
Code le langue: 2 caractères caractérisant la langue, comme fr pour français.= basque, n1 = norvégien Nynorsk, za = sud-africain,
fo = féroien, lu = luxembourgeois, w2 = wallon

TestSQL
SELECT 'Lun' AS ISCORRECT, U_DOWSHORTLANG('23.08.2004', 'fr') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, U_DOWSHORTLANG(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_GFORMATD Fonction de adhoc
Entrypoint gformatd Compatibles UTF-8
Entrée CSTRING(254)
TIMESTAMP
Format comme Date/Heure
Date avec heure optionnelle
Sortie CSTRING(254) Formate la date et l’heure selon le paramètre 1
Pattern pour parameter 1
        d = Jour (1 chiffre si < 10)
        dd = Jour, toujours 2 chiffres
        m = Mois (1 chiffre si < 10)
        mm = Mois, toujours 2 chiffres
        yy = Année (1 chiffre si < 10, sinon 2 chiffres)
        yyyy = Année, toujours 4 chiffres
        h = Heure (1 chiffre si < 10)
        hh = Heure, toujours 2 chiffres
        n = Minute (1 chiffre si < 10)
        nn = Minute, toujours 2 chiffres
        s = Seconde (1 chiffre si < 10)
        ss = Seconde, toujours 2 chiffres
tous les autres signes repris dans le paramètre 1 resteront à leur place dans le résultat.
TestSQL
SELECT '01-10-2005 15:09:12' AS ISCORRECT, F_GFORMATD('dd-mm-yyyy hh:nn:ss', '01.10.2005 15:09:12') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_GFORMATD(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_DATETOSTR Entrée/Sortie compatibles avec rFunc (DATETOSTR)
Entrypoint datetostr Compatibles UTF-8
Entrée TIMESTAMP
CSTRING(254)
Date avec heure optionnelle
Gabarit de la date
Sortie CSTRING(254) Date formatée selon le gabarit du paramètre 2
Gabarits du paramètre 2 (comme dans la fonction C strftime):
     %% - Caractère %
     %c  - Date et heure
     %x  - Date
     %d  - Jour du mois (01-31)
     %j   - Jour de l’année (000-366)
     %w – Jour de la semaine (0-6), 0 = dimanche
     %U – Numéro de semaine selon calendrier US (00-53), dimanche est le premier jour de la semaine
     %W- Numéro de semaine selon calendrier US (00-53), lundi est le premier jour de la semaine
     %a  - Jour de la semaine abrégé (en anglais)
     %A - Jour de la semaine entier (en anglais)
     %m – Mois (01-12)
     %b  - Nom abrégé du mois (en anglais)
     %B - Nom entier du mois (en anglais)
     %y  - Année en 2 positions (00-99)
     %Y - Année en 4 positions
     %X - Heure
     %H – Heures au format 24 h (00-23)
     %I   - Heures au format 12 h (01-12)
     %M - Minutes (00-59)
     %p  - AM ou PM
     %S  - Secondes (00-59)
TestSQL
SELECT '20.02.2004' AS ISCORRECT, F_ENCODEDATE(2004, 2, 20) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_ENCODEDATE(NULL, NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_DATETOSTRLANG Fonction de adhoc
Entrypoint datetostrlang Pas (encore) compatible UTF-8 -  utiliser U_DATE2STRLANG
Entrée TIMESTAMP
CSTRING(254)
CSTRING(2)
Date avec heure optionnelle
Gabarit de la date
Indicatif de la langue pour le résultat
Sortie CSTRING(254) Date formatée selon le gabarit du paramètre 2
Version linguistique de F_DATETOSTR.
Indicatif de la langue: uk = anglais, de = allemand, fr = français, it = italien, es = espagnol, pt = portugais, nl = néerlandais, no = norvégien Bokmål, se = suédois, dk = danois, fi = finlandais, hu = hongrois, ie = irlandais (gaélique),
ee = estonien, is = islandais, al = albanais, va = latin, v1 = latin ecclésiastique, c1 = catalan, s1 = écossais,
s2 = écossais gallique, w1 = valaisan, b1 = breton, b2 = basque, n1 = norvégien Nynorsk, za = sud-africain,
fo = féroien, lu = luxembourgeois, w2 = wallon

Gabarits du paramètre 2 (comme dans la fonction C strftime): regardez F_DATETOSTR
TestSQL
SELECT 'Tuesday, 10 February 2004, 08:23:00' AS ISCORRECT, F_DATETOSTRLANG('10.02.04 08:23', '%A, %d %B %Y, %X', 'uk') FROM RDB$DATABASE;
SELECT 'Dienstag, 10 Februar 2004, 08:23:00' AS ISCORRECT, F_DATETOSTRLANG('10.02.04 08:23', '%A, %d %B %Y, %X', 'de') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_DATETOSTRLANG(NULL, NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
U_DATE2STRLANG Fonction de adhoc
Entrypoint u_date2strlang Compatibles UTF-8
Input TIMESTAMP
CSTRING(254)
CSTRING(2)
Date avec heure optionnelle
patron à utiliser pour la représentation
Code de la langue à utiliser
Output CSTRING(254) date formatée selon le paramètre 2 et dans la langue choisie
Version de F_DATETOSTR avec plusieurs configurations
Patron du paramètre 2 selon la norme icu
Symbol Meaning Example
G era designator G AD
y year yy
yyyy or y
96
1996
Y year of "Week of Year" Y 1997
u extended year u 4601
Q quarter Q or QQ
QQQ
QQQQ
02
Q2
2nd quarter
q Stand Alone quarter q or qq
qqq
qqqq
02
Q2
2nd quarter
M month in year M or MM
MMM
MMMM
MMMMM
09
Sept
September
S
L Stand Alone month in year L or LL
LLL
LLLL
LLLLL
09
Sept
September
S
w week of year w or ww 27
W week of month W 2
d day in month d
dd
2
02
D day of year D 189
F day of week in month
2 (2nd Wed in July)
g modified julian day g 2451334
E day of week E, EE, or EEE
EEEE
EEEEE
Tues
Tuesday
T
e local day of week
example: if Monday is 1st day, Tuesday is 2nd )
e or ee
eee
eeee
eeeee
2
Tues
Tuesday
T
c Stand Alone local day of week e or ee
eee
eeee
eeeee
2
Tues
Tuesday
T
a am/pm marker a pm
h hour in am/pm (1~12) h
hh
7
07
H hour in day (0~23) H
HH
0
00
k hour in day (1~24) k
kk
24
24
K hour in am/pm (0~11) K
KK
0
00
m minute in hour m
mm
4
04
s second in minute s
ss
5
05
S millisecond
rounds to count of letters)
S
SS
SSS
SSSS
2
24
235
2350
A milliseconds in day A 61201235
z Time Zone: specific non-location z, zz, or zzz
zzzz
PDT
Pacific Daylight Time
Z Time Zone: RFC 822
Time Zone: localized GMT
Z, ZZ, or ZZZ
ZZZZ
-0800
GMT-08:00
v Time Zone: generic non-location v
vvvv
PT
Pacific Time or United States (Los Angeles)
V Time Zone: generic non-location V PT
VVVV Time Zone: generic location VVVV United States (Los Angeles)
W week in month
2
' escape for text ' (nothing)
' ' two single quotes produce one ' ' '
Exemple
Format Pattern Result
yyyy.MM.dd G 'at' HH:mm:ss zzz 1996.07.10 AD at 15:08:56 PDT
EEE, MMM d, ''yy Wed, July 10, '96
h:mm a 12:08 PM
hh 'o''clock' a, zzzz 12 o'clock PM, Pacific Daylight Time
K:mm a, z 0:00 PM, PST
yyyyy.MMMM.dd GGG hh:mm aaa 01996.July.10 AD 12:08 PM
Code le langue: 2 caractères caractérisant la langue, comme fr pour français.
Tipp: à vérifier!
TestSQL

SELECT 'Tuesday, 10 February ' || F_SQM() || '04 at 2 o' || F_SQM() || 'clock and 23 minutes 17 seconds PM' AS ISCORRECT, U_DATE2STRLANG('10.02.04 14:23:17', 'EEEE, dd MMMM ' || F_DSQM() || 'yy ' || F_SQM() || 'at' || F_SQM() || ' K ' || F_SQM() || 'o' || F_DSQM() || 'clock and ' || F_SQM() || 'm' || F_SQM() || ' minutes ' || F_SQM() || 's' || F_SQM() || ' seconds ' || F_SQM() || 'a', 'en') FROM RDB$DATABASE;

SELECT 'mardi, 10 février 2004, 14:23:17' AS ISCORRECT, U_DATE2STRLANG('10.02.04 14:23:17', 'EEEE, dd MMMM yyyy, HH:mm:ss', 'fr') FROM RDB$DATABASE;

SELECT 'Dienstag, 10 Februar 2004, 14:23:17' AS ISCORRECT, U_DATE2STRLANG('10.02.04 14:23:17', 'EEEE, dd MMMM yyyy, HH:mm:ss', 'de') FROM RDB$DATABASE;

SELECT NULL AS ISCORRECT, U_DATE2STRLANG(NULL, NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_ENCODEDATE Compatible avec GrUDF
Entrypoint encodedate Compatibles UTF-8
Entrée INTEGER
INTEGER
INTEGER
Année
Mois
Jour
Sortie DATE Construit une valeur DATE à partir de année, mois, jour
TestSQL
SELECT '20.02.2004' AS ISCORRECT, F_ENCODEDATE(2004, 2, 20) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_ENCODEDATE(NULL, NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_RENCODEDATE Entrée/Sortie compatibles avec rFunc (ENCODEDATE)
Entrypoint r_encodedate Compatibles UTF-8
Entrée INTEGER
INTEGER
INTEGER
Jour
Mois
Année
Sortie DATE Construit une valeur DATE à partir de jour, mois, année
Paramètres dans un autre sens F_ENCODEDATE
TestSQL
SELECT '20.02.2004' AS ISCORRECT, F_RENCODEDATE(20, 2, 2004) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_RENCODEDATE(NULL, NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_ENCODETIME Compatible avec GrUDF
Entrypoint encodetime Compatibles UTF-8
Entrée INTEGER
INTEGER
INTEGER
Heures
Minutes
Secondes
Sortie TIME Construit une valeur TIME à partir des heures, minutes et secondes.
TestSQL
SELECT '09:45:53' AS ISCORRECT, F_ENCODETIME(9, 45, 53) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_ENCODETIME(NULL, NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_ENCODETIMESTAMP Compatible avec GrUDF
Entrypoint encodetimestamp Compatibles UTF-8
Entrée INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
Année
Mois
Jour
Heures
Minutes
Secondes
Sortie TIMESTAMP Construit une valeur TIMESTAMP à partir des année, mois, jour, heure, minute, seconde
TestSQL
SELECT '20.02.2004 09:45:53' AS ISCORRECT, F_ENCODETIMESTAMP(2004, 2, 20, 9, 45, 53) FROM RDB$DATABASE;
SELECT '20.02.2004 00:00:00' AS ISCORRECT, F_ENCODETIMESTAMP(2004, 2, 20, 0, 0, 0) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_ENCODETIMESTAMP(NULL, NULL, NULL, NULL, NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_RENCODEDATETIME Entrée/Sortie compatibles avec rFunc ( ENCODEDATETIME)
Entrypoint r_encodedatetime Compatibles UTF-8
Entrée INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
INTEGER
Jour
Mois
Année
Heures
Minutes
Secondes
Sortie TIMESTAMP Construit une valeur DATE à partir de jour, mois, année, heure, minute, seconde
Paramètres dans un autre sens F_ENCODETIMESTAMP
TestSQL
SELECT '20.02.2004 09:45:53' AS ISCORRECT, F_RENCODEDATETIME(20, 2, 2004, 9, 45, 53) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_RENCODEDATETIME(NULL, NULL, NULL, NULL, NULL, NULL)) FROM RDB$DATABASE;
nach oben • go top •
F_STRIPDATE Compatible avec zu FreeUDFLib, FreeUDFLibC, FreeUDFLib AvERP
Entrée/Sortie compatibles avec rFunc (EXTRACTTIME)
Entrypoint stripdate Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie TIMESTAMP Fournit l’heure spécifiée associée à la date 31-12-1899 (date 0)
Pour recevoir en retour l’heure seule, utiliser CAST('01.10.2005 15:00:00' AS TIME)
TestSQL
SELECT '31.12.1899 15:00:00' AS ISCORRECT, F_STRIPDATE(' 01.10.2005 15:00:00')
FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_STRIPDATE(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_STRIPTIME Compatible avec FreeUDFLib, FreeUDFLibC, FreeUDFLib AvERP
Entrée/Sortie compatibles avec rFunc (EXTRACTDATE)
Entrypoint striptime Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie TIMESTAMP Fournit la date spécifiée associée à l’heure 00:00:00
Pour obtenir seulement la date, exécuter CAST('01.10.2005 15:00:00' AS DATE)
TestSQL
SELECT '01.10.2005 00:00:00' AS ISCORRECT, F_STRIPTIME(' 01.10.2005 15:00:00')
FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_STRIPTIME(NULL) FROM RDB$DATABASE;
nach oben • go top •
 
Fonctions de dates et de tempsComparaisons
F_MAXDATE Compatible avec FreeUDFLib, FreeUDFLibC, FreeUDFLib AvERP
Entrée/Sortie compatibles avec rFunc (MAXDATE)
Entrypoint maxdate Compatibles UTF-8
Entrée TIMESTAMP
TIMESTAMP
Date 1 avec heure optionnelle
Date 2 avec heure optionnelle
Sortie TIMESTAMP Fournit la plus tardive des deux dates spécifiées
TestSQL
SELECT '01.10.2005 15:00:00' AS ISCORRECT, F_MAXDATE('22.08.2000 14:38:12', '01.10.2005 15:00:00') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_MAXDATE(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_MINDATE Compatible avec FreeUDFLib, FreeUDFLibC, FreeUDFLib AvERP
Entrée/Sortie compatibles avec rFunc (MINDATE)
Entrypoint mindate Compatibles UTF-8
Entrée TIMESTAMP
TIMESTAMP
Date 1 avec heure optionnelle
Date 2 avec heure optionnelle
Sortie TIMESTAMP Fournit la plus ancienne des deux dates spécifiées
TestSQL
SELECT '22.08.2000 14:38:12' AS ISCORRECT, F_MINDATE('22.08.2000 14:38:12', '01.10.2005 15:00:00') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_MINDATE(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_EQUALDATE Compatible avec FreeUDFLib AvERP, GrUDF
Entrypoint equaldate Compatibles UTF-8
Entrée TIMESTAMP
TIMESTAMP
Date 1 avec heure optionnelle
Date 2 avec heure optionnelle
Sortie INTEGER Résultat 1 = sont égales, 0 =ne sont pas égales
Compare l’égalité de deux dates-heures, mais en ne considérant que la partie date.
TestSQL
SELECT 1 AS ISCORRECT, F_EQUALDATE('20.02.2004 10:00:00', '20.02.2004 11:00:00') FROM RDB$DATABASE;
SELECT 0 AS ISCORRECT, F_EQUALDATE('20.02.2004 10:00:00', '21.02.2004 11:00:00') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_EQUALDATE(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
F_EQUALDATETIME Compatible avec FreeUDFLib AvERP, GrUDF
Entrée/Sortie compatibles avec rFunc (DTEQUAL)
Entrypoint equaldatetime Compatibles UTF-8
Entrée TIMESTAMP
TIMESTAMP
Date 1 avec heure optionnelle
Date 2 avec heure optionnelle
Sortie INTEGER Résultat 1 = sont égales, 0 =ne sont pas égales
Compare l’égalité de deux dates-heures en tenant compte à la fois de la date et de l’heure.
TestSQL
SELECT 1 AS ISCORRECT, F_EQUALDATETIME('20.02.2004 10:00:00', '20.02.2004 10:00:00') FROM RDB$DATABASE;
SELECT 0 AS ISCORRECT, F_EQUALDATETIME('20.02.2004 10:00:00', '20.02.2004 11:00:00') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_EQUALDATETIME(NULL, NULL) FROM RDB$DATABASE;
nach oben • go top •
 
Fonctions de dates et de tempsConversions
F_STRTOTIME Compatible avec FreeUDFLibC
Entrypoint strtotime Compatibles UTF-8
Entrée CSTRING(11) heure "anglophile" sous forme de chaîne (p.e. 05:04:01 AM) 
Sortie TIME Convertit l’heure "anglophile" en notation 24 heures
Le format d’entrée peut indiquer les éléments en un ou deux chiffres et la mention «AM» ou «PM» peut suivre avec ou sans espace, mais cette mention doit être en majuscules.
TestSQL   
SELECT '05:04:01' AS ISCORRECT, F_STRTOTIME('05:04:01 AM') FROM RDB$DATABASE;
SELECT '17:04:01' AS ISCORRECT, F_STRTOTIME('5:4:1PM') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_STRTOTIME(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_DATETODOUBLE Entrée/Sortie compatibles avec rFunc (DATETODOUBLE)
Entrypoint datetodouble Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie DOUBLE Dates et heures en virgule flottante (date avant la virgule, heure après la virgule)
TestSQL
SELECT 54205.59375 AS ISCORRECT, F_DATETODOUBLE('15.04.2007 14:15:00') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_DATETODOUBLE(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_TIMETODOUBLE Entrée/Sortie compatibles avec rFunc (TIMETODOUBLE)
Entrypoint timetodouble Compatibles UTF-8
Entrée TIMESTAMP Date avec heure optionnelle
Sortie DOUBLE Heures en virgule flottante (0 avant la virgule, heure après la virgule) 
TestSQL
SELECT 0.59375 AS ISCORRECT, F_TIMETODOUBLE('15.04.2007 14:15:00') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_TIMETODOUBLE(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_DOUBLETODATE Entrée/Sortie compatibles avec rFunc (DOUBLETODATE)
Entrypoint doubletodate Compatibles UTF-8
Entrée DOUBLE Dates et heures en virgule flottante (date avant la virgule, heure après la virgule)
Sortie TIMESTAMP Date avec heure
rFunc utilise le calendrier julien modifié (0 = 17.11.1858 00:00:00) de sorte que la date 0 n’est pas 31.12.1899, mais bien 17.11.1858.
TestSQL
SELECT '15.04.2007 14:15:00' AS ISCORRECT, F_DOUBLETODATE(54205.59375) FROM RDB$DATABASE;
SELECT NULL' AS ISCORRECT, F_DOUBLETODATE(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_DOUBLETOTIME Entrée/Sortie compatibles avec rFunc (DOUBLETOTIME)
Entrypoint doubletotime Compatibles UTF-8
Entrée DOUBLE Heures en virgule flottante (0 avant la virgule, heure après la virgule) 
Sortie TIMESTAMP Date avec heure
Prend seulement en considération la valeur de l’entrée après la virgule.
rFunc utilise le calendrier julien modifié (0 = 17.11.1858 00:00:00) de sorte que la date 0 n’est pas 31.12.1899, mais bien 17.11.1858.
TestSQL
SELECT '31.12.1899 14:15:00' AS ISCORRECT, F_DOUBLETOTIME(0.59375) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_DOUBLETOTIME(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_PERIOD2SECONDS Fonction de adhoc
Entrypoint period2seconds Compatibles UTF-8
Entrée CSTRING(254) Durée de la période au format d:h:m:s  
Sortie INTEGER Nombre de secondes de la période
Les durées peuvent être données sous deux formats: une ou deux positions (dd:hh:mm:ss ou d:h:m:s).
Les durées négatives s’indiquent par un ‹-› en tête de la première section.
Les durées peuvent s’exprimer au format Jour:Heure:Minute:Seconde (4 sections) et Heure:Minute:Seconde (3 sections).
S’il y a moins de 3 sections ou s’il y a d’autres caractères en tête, le résultat sera respectivement <null> ou une chaîne vide.
Des entrées comme par exemple '0:26:0:0' au lieu de '1:2:0:0' pour 26 heures sont acceptées.
TestSQL
SELECT 4205 AS ISCORRECT, F_PERIOD2SECONDS('0:1:10:5') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_PERIOD2SECONDS(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_SECONDS2PERIOD Fonction de adhoc
Entrypoint seconds2period Compatibles UTF-8
Entrée INTEGER Nombre de secondes d’une période de temps
Sortie CSTRING(254) Durée de la période au format d:h:m:s
Le résultat en sortie est toujours au format Jour:Heure:Minute:Seconde (4 sections de 2 positions) dd:hh:mm:ss.
Les durées négatives s’indiquent par un ‹-› en tête de la première section.
TestSQL
SELECT '00:01:10:05' AS ISCORRECT, F_SECONDS2PERIOD(4205) FROM RDB$DATABASE;
SELECT '-00:01:10:05' AS ISCORRECT, F_SECONDS2PERIOD(-4205) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_SECONDS2PERIOD(NULL) FROM RDB$DATABASE;
nach oben • go top •
 
Fonctions de dates et de temps: Fête
F_WEIBERFASSTNACHT Fonction de adhoc
Entrypoint weiberfasstnacht Compatibles UTF-8
Entrée INTEGER Année pour laquelle on recherche la date de Carnaval des femmes
Sortie DATE Fournit la date du Carnaval des femmes de l’année spécifiée
TestSQL
SELECT '15.02.2007' AS ISCORRECT, F_WEIBERFASTNACHT(2007) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_WEIBERFASTNACHT(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_ROSENMONTAG Fonction de adhoc
Entrypoint rosenmontag Compatibles UTF-8
Entrée INTEGER Année pour laquelle on recherche la date de la veille du Mardi Gras
Sortie DATE Fournit la date de la veille du Mardi Gras de l’année spécifiée
TestSQL
SELECT '19.02.2007' AS ISCORRECT, F_ROSENMONTAG(2007) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_ROSENMONTA(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_KARNEVALSDIENSTAG Fonction de adhoc
Entrypoint karnevalsdienstag Compatibles UTF-8
Entrée INTEGER Année pour laquelle on recherche la date de Mardi Gras
Sortie DATE Fournit la date du Mardi Gras de l’année spécifiée
TestSQL
SELECT '20.02.2007' AS ISCORRECT, F_KARNEVALSDIENSTAG(2007) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_KARNEVALSDIENSTAG(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_ASCHERMITTWOCH Fonction de adhoc
Entrypoint aschermittwoch Compatibles UTF-8
Entrée INTEGER Année pour laquelle on recherche la date de Mercredi des Cendres
Sortie DATE Fournit la date du Mercredi des Cendres de l’année spécifiée
TestSQL
SELECT '21.02.2007' AS ISCORRECT, F_ASCHERMITTWOCH(2007) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_ASCHERMITTWOCH(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_PALMSONNTAG Fonction de adhoc
Entrypoint palmsonntag Compatibles UTF-8
Entrée INTEGER Année pour laquelle on recherche la date de Dimanche des Rameaux
Sortie DATE Fournit la date du Dimanche des Rameaux de l’année spécifiée
TestSQL
SELECT '01.04.2007' AS ISCORRECT, F_PALMSONNTAG(2007) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_PALMSONNTAG(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_GRUENDONNERSTAG Fonction de adhoc
Entrypoint gruendonnerstag Compatibles UTF-8
Entrée INTEGER Année pour laquelle on recherche la date de jeudi saint
Sortie DATE Fournit la date du jeudi saint de l’année spécifiée
TestSQL
SELECT '05.04.2007' AS ISCORRECT, F_GRUENDONNERSTAG(2007) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_GRUENDONNERSTAG(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_KARFREITAG Fonction de adhoc
Entrypoint karfreitag Compatibles UTF-8
Entrée INTEGER Année pour laquelle on recherche la date de Vendredi Saint
Sortie DATE Fournit la date du Vendredi Saint de l’année spécifiée
TestSQL
SELECT '06.04.2007' AS ISCORRECT, F_KARFREITAG(2007) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_KARFREITAG(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_OSTERSAMSTAG Fonction de adhoc
Entrypoint ostersamstag Compatibles UTF-8
Entrée INTEGER Année pour laquelle on recherche la date de Samedi de Paques
Sortie DATE Fournit la date du Samedi de Paques de l’année spécifiée
TestSQL
SELECT '07.04.2007' AS ISCORRECT, F_OSTERSAMSTAG(2007) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_OSTERSAMSTAG(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_OSTERDATUM Compatible avec FreeUDFLib AvERP, GrUDF
Entrypoint osterdatum Compatibles UTF-8
Entrée INTEGER Année pour laquelle on recherche la date de Pâques
Sortie DATE Fournit la date du dimanche de Pâques de l’année spécifiée
TestSQL
SELECT '27.03.2005' AS ISCORRECT, F_OSTERDATUM(2005) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_OSTERDATUM(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_OSTERMONTAG Fonction de adhoc
Entrypoint ostermontag Compatibles UTF-8
Entrée INTEGER Année pour laquelle on recherche la date de Lundi de Paques
Sortie DATE Fournit la date du Lundi de Paques de l’année spécifiée
TestSQL
SELECT '09.04.2007' AS ISCORRECT, F_OSTERMONTAG(2007) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_OSTERMONTAG(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_HIMMELFAHRT Fonction de adhoc
Entrypoint himmelfahrt Compatibles UTF-8
Entrée INTEGER Année pour laquelle on recherche la date de Ascension
Sortie DATE Fournit la date du Ascension de l’année spécifiée
TestSQL
SELECT '17.05.2007' AS ISCORRECT, F_HIMMELFAHRT(2007) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_HIMMELFAHRT(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_PFINGSTSONNTAG Fonction de adhoc
Entrypoint pfingstsonntag Compatibles UTF-8
Entrée INTEGER Année pour laquelle on recherche la date de Dimanche de Pentecote
Sortie DATE Fournit la date du Dimanche de Pentecote de l’année spécifiée
TestSQL
SELECT '27.05.2007' AS ISCORRECT, F_PFINGSTSONNTAG(2007) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_PFINGSTSONNTAG(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_PFINGSTMONTAG Fonction de adhoc
Entrypoint pfingstmontag Compatibles UTF-8
Entrée INTEGER Année pour laquelle on recherche la date de Lundi de Pentecote
Sortie DATE Fournit la date du Lundi de Pentecote de l’année spécifiée
TestSQL
SELECT '28.05.2007' AS ISCORRECT, F_PFINGSTMONTAG(2007) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_PFINGSTMONTAG(NULL) FROM RDB$DATABASE;
nach oben • go top •
F_FRONLEICHNAM Fonction de adhoc
Entrypoint fronleichnam Compatibles UTF-8
Entrée INTEGER Année pour laquelle on recherche la date de Fete-Dieu
Sortie DATE Fournit la date du Fete-Dieu de l’année spécifiée
TestSQL
SELECT '07.06.2007' AS ISCORRECT, F_FRONLEICHNAM(2007) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_FRONLEICHNAM(NULL) FROM RDB$DATABASE;
vorige Seite • previous page • passée sitenach oben • go top • vers le hautnächste Seite • next page • prochain site