Par
suite
des nouveaux développements, certaines fonctions sont devenues
superflues. Elles ont en effet été incorporées dans les mots
réservés
du langage (ce qui n’est pas le cas des UDF de ib_udf ou fbudf).
Il est recommandé de n’utiliser que les fonctions incorporées, car
elles sont (en théorie) plus rapides, mais aussi plus sures (chaque
appel d’une fonction UDF pourrait conduire à une défaillance du
serveur
à cause, par exemple, d’un mauvais paramétrage).
Prenez
en
compte, s’il vous plait, que la syntaxe est partiellement
différente
de celle des fonctions FreeAdhocUDF
InterBase
À partir
de InterBase
6.0
F_YEAR peut être remplacée par EXTRACT(YEAR FROM ...)
SELECT F_YEAR(CURRENT_TIMESTAMP) FROM
RDB$DATABASE;
est identique à
SELECT EXTRACT(YEAR FROM
CURRENT_TIMESTAMP) FROM RDB$DATABASE;
F_MONTH peut être remplacée par EXTRACT(MONTH FROM ...)
SELECT F_MONTH(CURRENT_TIMESTAMP) FROM
RDB$DATABASE;
est identique à
SELECT EXTRACT(MONTH FROM CURRENT_TIMESTAMP) FROM
RDB$DATABASE;
F_DAYOFMONTH peut être remplacée par EXTRACT(DAY FROM ...)
SELECT F_DAYOFMONTH(CURRENT_TIMESTAMP)
FROM RDB$DATABASE;
est identique à
SELECT EXTRACT(DAY FROM CURRENT_TIMESTAMP) FROM
RDB$DATABASE;
F_HOUR peut être remplacée par EXTRACT(HOUR FROM
...)
SELECT F_HOUR(CURRENT_TIMESTAMP) FROM
RDB$DATABASE;
est identique à
SELECT EXTRACT(HOUR FROM
CURRENT_TIMESTAMP) FROM RDB$DATABASE;
F_MINUTE peut être remplacée par EXTRACT(MINUTE FROM ...)
SELECT F_MINUTE(CURRENT_TIMESTAMP) FROM
RDB$DATABASE;
est identique à
SELECT EXTRACT(MINUTE FROM CURRENT_TIMESTAMP)
FROM RDB$DATABASE;
F_SECOND peut être remplacée par EXTRACT(SECOND FROM ...)
SELECT F_SECOND(CURRENT_TIMESTAMP) FROM
RDB$DATABASE;
est identique à
SELECT EXTRACT(SECOND FROM CURRENT_TIMESTAMP) FROM
RDB$DATABASE;
F_DAYOFWEEK peut être remplacée par EXTRACT(WEEKDAY FROM ...)
SELECT F_DAYOFWEEK(CURRENT_TIMESTAMP)
FROM RDB$DATABASE;
est identique à
SELECT EXTRACT(WEEKDAY FROM CURRENT_TIMESTAMP) +
1 FROM RDB$DATABASE;
Remarque:
La fonction FreeAdhocUDF F_DAYOFWEEK renvoie 1
pour
Dimanche alors que EXTRACT(WEEKDAY ...) fournit 0 pour
Dimanche. Cela peut être corrigé comme dans l’exemple ci-dessus.
F_DAYOFYEAR peut être remplacée par EXTRACT(YEARDAY FROM ...)
SELECT F_DAYOFYEAR(CURRENT_TIMESTAMP)
FROM RDB$DATABASE;
est identique à
SELECT EXTRACT(YEARDAY FROM
CURRENT_TIMESTAMP) FROM RDB$DATABASE;
À partir
de InterBase
7.5
CASE peut remplacer F_IF
COLLESCE et
NULLIF remplacent l’appel à NULL et F_STRINGLENGTH(..) = 0
respectivement … = 0
À partir de InterBase 2007
De nombreuses fonctions BLOb sont maintenant superflues
car
InterBase2007 peut maintenant interpréter les BLOb comme des
chaînes de
caractères.
F_BLOBASPCHAR les BLOb peuvent maintenant être traités sans conversion
F_STRBLOB les BLOb peuvent maintenant être traités sans conversion
F_BLOB2EXCEL peut être remplacé par F_STR2EXCEL
F_BLOBCAT peut être remplacé par || (comme pour des chaînes)
F_BLOBCATSTR peut être remplacé par || (comme pour des chaînes)
F_BLOBLEFT peut être remplacé par F_LEFT
F_BLOBMID peut être remplacé par F_MID
F_BLOBRIGHT peut être remplacé par F_RIGHT
F_BLOBREPLACESTRING peut être remplacé par F_REPLACESTRING
F_BLOBSUBSTR peut être remplacé par F_SUBSTR
F_BLOBWORDCOUNT peut être remplacé par F_WORDCOUNT
F_BLOBCOMPARE superflue, les BLOB pouvant maintenant être comparés
directement
FireBird
À partir
de FireBird 1.0
F_YEAR peut être remplacée par EXTRACT(YEAR FROM ...)
SELECT F_YEAR(CURRENT_TIMESTAMP) FROM
RDB$DATABASE;
est identique à
SELECT EXTRACT(YEAR FROM
CURRENT_TIMESTAMP) FROM RDB$DATABASE;
F_MONTH peut être remplacée par EXTRACT(MONTH FROM ...)
SELECT F_MONTH(CURRENT_TIMESTAMP) FROM
RDB$DATABASE;
est identique à
SELECT EXTRACT(MONTH FROM CURRENT_TIMESTAMP) FROM
RDB$DATABASE;
F_DAYOFMONTH peut être remplacée par EXTRACT(DAY FROM ...)
SELECT F_DAYOFMONTH(CURRENT_TIMESTAMP)
FROM RDB$DATABASE;
est identique à
SELECT EXTRACT(DAY FROM CURRENT_TIMESTAMP) FROM
RDB$DATABASE;
F_HOUR peut être remplacée par EXTRACT(HOUR FROM
...)
SELECT F_HOUR(CURRENT_TIMESTAMP) FROM
RDB$DATABASE;
est identique à
SELECT EXTRACT(HOUR FROM
CURRENT_TIMESTAMP) FROM RDB$DATABASE;
F_MINUTE peut être remplacée par EXTRACT(MINUTE FROM ...)
SELECT F_MINUTE(CURRENT_TIMESTAMP) FROM
RDB$DATABASE;
est identique à
SELECT EXTRACT(MINUTE FROM CURRENT_TIMESTAMP)
FROM RDB$DATABASE;
F_SECOND peut être remplacée par EXTRACT(SECOND FROM ...)
SELECT F_SECOND(CURRENT_TIMESTAMP) FROM
RDB$DATABASE;
est identique à
SELECT EXTRACT(SECOND FROM CURRENT_TIMESTAMP) FROM
RDB$DATABASE;
F_DAYOFWEEK peut être remplacée par EXTRACT(WEEKDAY FROM ...)
SELECT F_DAYOFWEEK(CURRENT_TIMESTAMP)
FROM RDB$DATABASE;
est identique à
SELECT EXTRACT(WEEKDAY FROM CURRENT_TIMESTAMP) +
1 FROM RDB$DATABASE;
Remarque:
La fonction FreeAdhocUDF F_DAYOFWEEK renvoie 1
pour
Dimanche alors que EXTRACT(WEEKDAY ...) fournit 0 pour
Dimanche. Cela peut être corrigé comme dans l’exemple ci-dessus.
F_DAYOFYEAR peut être remplacée par EXTRACT(YEARDAY FROM ...)
SELECT F_DAYOFYEAR(CURRENT_TIMESTAMP)
FROM RDB$DATABASE;
est identique à
SELECT EXTRACT(YEARDAY FROM
CURRENT_TIMESTAMP) FROM RDB$DATABASE;
F_MID peut être remplacée par SUBSTRING
SELECT 'cdefg' AS ISCORRECT,
F_MID('abcdefghijk', 2 ,5) FROM RDB$DATABASE
est identique à
SELECT 'cdefg' AS ISCORRECT,
SUBSTRING('abcdefghijk' FROM 3 FOR 5) FROM
RDB$DATABASE
À partir de FireBird
2.0
F_UPPER peut être remplacée par UPPER – tenant compte aussi des
lettres
accentuées
SELECT 'MÜLLER', F_UPPER('Müller') FROM
RDB$DATABASE;
est identique à
SELECT 'MÜLLER', UPPER('Müller') FROM
RDB$DATABASE;
F_LOWER peut être remplacée par LOWER - tenant compte aussi des
lettres
accentuées
SELECT 'müller', F_LOWER('MÜLLER') FROM
RDB$DATABASE;
est identique à
SELECT 'müller', LOWER('MÜLLER') FROM
RDB$DATABASE;
F_RTRIM peut être remplacée par TRIM
SELECT
F_RTRIM('abcde ') FROM RDB$DATABASE
est identique à
SELECT TRIM('abcde
') FROM RDB$DATABASE
F_IF peut être remplacée par IIF
SELECT F_IF(1, '>', 0, -1, 1)
FROM RDB$DATABASE;
est identique à
SELECT IIF(1 > 0, -1, 1) FROM
RDB$DATABASE;
F_STRINGLENGTH peut être remplacée par CHARACTER_LENGTH et
F_STRINGLENGTH peut être remplacée par CHAR_LENGTH
SELECT F_STRINGLENGTH('abcde') FROM RDB$DATABASE;
est identique à
SELECT CHARACTER_LENGTH('abcde') FROM
RDB$DATABASE;
ainsi qu’à
SELECT CHAR_LENGTH('abcde') FROM
RDB$DATABASE
À partir de FireBird
2.1
De
nombreuses fonctions BLOb sont maintenant superflues par FireBird
2.1
peut maintenant interpréter les BLOb comme des chaînes de
caractères.
F_BLOBASPCHAR les BLOb peuvent maintenant être traités sans conversion
ou
F_STRBLOB les BLOb peuvent maintenant être traités sans conversion
F_BLOB2EXCEL peut être remplacé par F_STR2EXCEL
F_BLOBCAT peut être remplacé par || (comme pour des chaînes)
F_BLOBCATSTR peut être remplacé par || (comme pour des chaînes)
F_BLOBLEFT peut être remplacé par F_LEFT ou par fonction interne LEFT
F_BLOBMID peut être remplacé par F_MID
F_BLOBRIGHT peut être remplacé par F_RIGHT par fonction interne RIGHT
F_BLOBREPLACESTRING peut être remplacé par F_REPLACESTRING
F_BLOBSUBSTR peut être remplacé par F_SUBSTR
F_BLOBWORDCOUNT peut être remplacé par F_WORDCOUNT
F_BLOBCOMPARE superflue, les BLOB pouvant maintenant être comparés
directement
fonctions interne
F_ABS (F_DOUBLEABS, F_INTEGERABS) peut être remplacé par fonction interne ABS
F_ACOS peut être remplacé par fonction interne ACOS
F_CHR (F_CHARACTER) peut être remplacé par fonction interne
ASCII_CHAR
F_ORD peut être remplacé par fonction interne ASCII_VAL
F_ASIN peut être remplacé par fonction interne ASIN
F_ATAN peut être remplacé par fonction interne ATAN
F_ATAN2 peut être remplacé par fonction interne ATAN2
F_BIN_AND peut être remplacé par fonction interne BIN_AND
F_BIN_OR peut être remplacé par fonction interne BIN_OR
Remarque : BIN_NOT est à oublier, car il
n’existe
pas
F_BIN_SHL peut être remplacé par fonction interne BIN_SHL
F_BIN_SHR peut être remplacé par fonction interne BIN_SHR
F_BIN_XOR peut être remplacé par fonction interne BIN_XOR
F_CEILING peut être remplacé par fonction interne CEIL | CEILING
F_COS peut être remplacé par fonction interne COS
F_COSH peut être remplacé par fonction interne COSH
F_COT peut être remplacé par fonction interne COT
F_ADDYEAR, F_ADDMONTH, F_ADDWEEK, F_ADDDAY, F_ADDHOUR, F_ADDMINUTE,
F_ADDSECOND
peut être remplacé par fonction interne DATEADD - Attention syntaxe
complètement différente
F_AGEINYEARS,
F_AGEINMONTHS, F_AGEINWEEKS, F_AGEINDAYS, F_AGEINHOURS,
F_AGEINMINUTES,
F_AGEINSECONDS peut être remplacé par fonction interne DATEDIFF -
bisher nicht testbar, da Bug - Attention syntaxe
complètement différente
F_IIF peut être remplacé par fonction interne DECODE - Attention syntaxe
complètement différente
F_EXP peut être remplacé par fonction interne EXP
F_FLOOR peut être remplacé par fonction interne FLOOR
GEN_UUID produit un identifiant unique universele UUID pas conforme à la norme FRC4122
F_LEFT peut être remplacé par fonction interne LEFT
F_LN peut être remplacé par fonction interne LN
F_LOG peut être remplacé par fonction interne LOG - Attention : paramètres permutés
F_LOG10 peut être remplacé par fonction interne LOG10
F_LPAD peut être remplacé par fonction interne LPAD - Attention : si la chaîne servant de remplacement
comporte plus d’un caractère ET si le résultat est trop long, LPAD
tronque la
chaîne résultante à droite, tandis que F_PADLEFT tronque à gauche
F_MAX (F_MAXNUM) peut être remplacé par fonction interne MAXVALUE
F_MIN (F_MINNUM) peut être remplacé par fonction interne MINVALUE
F_MODULO peut être remplacé par fonction interne MOD
F_STRSTUFF peut être remplacé par fonction interne OVERLAY - Attention syntaxe
complètement différente
F_PI peut être remplacé par fonction interne PI
F_STRPOS peut être remplacé par fonction interne POSITION - Attention syntaxe
complètement différente
F_POWER peut être remplacé par fonction interne POWER
F_RAND peut être remplacé par fonction interne RAND
F_REPLACE peut être remplacé par fonction interne REPLACE
F_REVERSE peut être remplacé par fonction interne REVERSE
F_RIGHT peut être remplacé par fonction interne RIGHT
F_ZAHLRUNDEN (F_ROUNDCOMMON) peut être remplacé par fonction interne
ROUND - Attention: la fonction incorporée ROUND peut
également
arrondir à gauche de la virgule
F_RPADRIGHT (F_RIGHTPAD) peut être remplacé par fonction interne
RPAD
F_SIGN peut être remplacé par fonction interne SIGN
F_SIN peut être remplacé par fonction interne SIN
F_SINH peut être remplacé par fonction interne SINH
F_SQRT peut être remplacé par fonction interne SQRT
F_TAN peut être remplacé par fonction interne TAN
F_TANH peut être remplacé par fonction interne TANH
F_TRUNCATE peut être remplacé par fonction interne TRUNC
|