Durch
die Weiterentwicklung wurden bestimmte Funktionen überflüssig, weil
sie
im “Standard-Wortschatz” eingebaut wurden (NICHT die UDFs z.B. aus
der
ib_udf oder der fbudf).
Es ist zu empfehlen, auf die “eingebauten” Funktionen umzusteigen
bzw. diese zu benutzen, da sie (theoretisch) schneller aber vor
allem sicherer ausgeführt werden (jeder Aufruf einer UDF birgt die
Möglichkeit eines Server-Absturzes - z.B. durch falsche Parameter).
Bitte
Beachten
Sie, dass teilweise die Syntax anders als bei den
FreeAdhocUDF-Funktionen ist!
InterBase
Ab
InterBase 6.0
F_YEAR ersetzbar durch EXTRACT(YEAR FROM ...)
SELECT F_YEAR(CURRENT_TIMESTAMP) FROM
RDB$DATABASE;
ist identisch mit
SELECT EXTRACT(YEAR FROM
CURRENT_TIMESTAMP) FROM RDB$DATABASE;
F_MONTH ersetzbar durch EXTRACT(MONTH FROM ...)
SELECT F_MONTH(CURRENT_TIMESTAMP) FROM
RDB$DATABASE;
ist identisch mit
SELECT EXTRACT(MONTH FROM
CURRENT_TIMESTAMP) FROM RDB$DATABASE;
F_DAYOFMONTH ersetzbar durch EXTRACT(DAY FROM ...)
SELECT F_DAYOFMONTH(CURRENT_TIMESTAMP)
FROM RDB$DATABASE;
ist identisch mit
SELECT EXTRACT(DAY FROM
CURRENT_TIMESTAMP) FROM RDB$DATABASE;
F_HOUR ersetzbar durch EXTRACT(HOUR FROM ...)
SELECT F_HOUR(CURRENT_TIMESTAMP) FROM
RDB$DATABASE;
ist identisch mit
SELECT EXTRACT(HOUR FROM
CURRENT_TIMESTAMP) FROM RDB$DATABASE;
F_MINUTE ersetzbar durch EXTRACT(MINUTE FROM ...)
SELECT F_MINUTE(CURRENT_TIMESTAMP) FROM
RDB$DATABASE;
ist identisch mit
SELECT EXTRACT(MINUTE FROM
CURRENT_TIMESTAMP) FROM RDB$DATABASE;
F_SECOND ersetzbar durch EXTRACT(SECOND FROM ...)
SELECT F_SECOND(CURRENT_TIMESTAMP) FROM
RDB$DATABASE;
ist identisch mit
SELECT EXTRACT(SECOND FROM
CURRENT_TIMESTAMP) FROM RDB$DATABASE;
F_DAYOFWEEK ersetzbar durch EXTRACT(WEEKDAY FROM ...)
SELECT F_DAYOFWEEK(CURRENT_TIMESTAMP)
FROM RDB$DATABASE;
ist identisch mit
SELECT EXTRACT(WEEKDAY FROM
CURRENT_TIMESTAMP) + 1 FROM RDB$DATABASE;
Anmerkung:
Die FreeAdhocUDF Funktion F_DAYOFWEEK
fängt
(deutsch) an mit Sonntag = 1 während hingegen
EXTRACT(WEEKDAY ...) bei
Sonntag=0 beginnt. Dies kann man so wie oben gezeigt korrigieren.
F_DAYOFYEAR ersetzbar durch EXTRACT(YEARDAY FROM ...)
SELECT F_DAYOFYEAR(CURRENT_TIMESTAMP)
FROM RDB$DATABASE;
ist identisch mit
SELECT EXTRACT(YEARDAY FROM
CURRENT_TIMESTAMP) FROM RDB$DATABASE;
Ab InterBase 7.5
CASE kann F_IF ersetzen
COLLESCE und
NULLIF ersetzen Abfragen auf NULL und F_STRINGLENGTH(..) = 0
bzw. ... = 0
Ab InterBase 2007
Viele BLOb-Funktionen sind nun überflüssig, weil InterBase2007
jetzt BLObs wie "normale" Strings ansprechen kann
F_BLOBASPCHAR Umwandlung überflüssig, BLOBs können direkt
"verarbeitet" werden
F_STRBLOB Umwandlung überflüssig, BLOBs können direkt
"verarbeitet" werden
F_BLOB2EXCEL ersetzbar durch F_STR2EXCEL
F_BLOBCAT ersetzbar durch || (wie bei Strings)
F_BLOBCATSTR ersetzbar durch || (wie bei Strings)
F_BLOBLEFT ersetzbar durch F_LEFT
F_BLOBMID ersetzbar durch F_MID
F_BLOBRIGHT ersetzbar durch F_RIGHT
F_BLOBREPLACESTRING ersetzbar durch F_REPLACESTRING
F_BLOBSUBSTR ersetzbar durch F_SUBSTR
F_BLOBWORDCOUNT ersetzbar durch F_WORDCOUNT
F_BLOBCOMPARE überflüssig, BLOBs können nun wie Strings direkt
verglichen werden
F_BLOBSTRPOS ersetzbar durch F_STRPOS
FireBird
Ab
FireBird 1.0
F_YEAR ersetzbar durch
EXTRACT(YEAR FROM ...)
SELECT F_YEAR(CURRENT_TIMESTAMP) FROM
RDB$DATABASE;
ist identisch mit
SELECT EXTRACT(YEAR FROM
CURRENT_TIMESTAMP) FROM RDB$DATABASE;
F_MONTH ersetzbar durch EXTRACT(MONTH FROM ...)
SELECT F_MONTH(CURRENT_TIMESTAMP) FROM
RDB$DATABASE;
ist identisch mit
SELECT EXTRACT(MONTH FROM
CURRENT_TIMESTAMP) FROM RDB$DATABASE;
F_DAYOFMONTH ersetzbar durch EXTRACT(DAY FROM ...)
SELECT F_DAYOFMONTH(CURRENT_TIMESTAMP)
FROM RDB$DATABASE;
ist identisch mit
SELECT EXTRACT(DAY FROM
CURRENT_TIMESTAMP) FROM RDB$DATABASE;
F_HOUR ersetzbar durch EXTRACT(HOUR FROM ...)
SELECT F_HOUR(CURRENT_TIMESTAMP) FROM
RDB$DATABASE;
ist identisch mit
SELECT EXTRACT(HOUR FROM
CURRENT_TIMESTAMP) FROM RDB$DATABASE;
F_MINUTE ersetzbar durch EXTRACT(MINUTE FROM ...)
SELECT F_MINUTE(CURRENT_TIMESTAMP) FROM
RDB$DATABASE;
ist identisch mit
SELECT EXTRACT(MINUTE FROM
CURRENT_TIMESTAMP) FROM RDB$DATABASE;
F_SECOND ersetzbar durch EXTRACT(SECOND FROM ...)
SELECT F_SECOND(CURRENT_TIMESTAMP) FROM
RDB$DATABASE;
ist identisch mit
SELECT EXTRACT(SECOND FROM
CURRENT_TIMESTAMP) FROM RDB$DATABASE;
F_DAYOFWEEK ersetzbar durch EXTRACT(WEEKDAY FROM ...)
SELECT F_DAYOFWEEK(CURRENT_TIMESTAMP)
FROM RDB$DATABASE;
ist identisch mit
SELECT EXTRACT(WEEKDAY FROM
CURRENT_TIMESTAMP) + 1 FROM RDB$DATABASE;
Anmerkung:
Die FreeAdhocUDF Funktion F_DAYOFWEEK
fängt
(deutsch) an mit Sonntag = 1 während hingegen
EXTRACT(WEEKDAY ...) bei
Sonntag=0 beginnt. Dies kann man so wie oben gezeigt korrigieren.
F_DAYOFYEAR ersetzbar durch EXTRACT(YEARDAY FROM ...)
SELECT F_DAYOFYEAR(CURRENT_TIMESTAMP)
FROM RDB$DATABASE;
ist identisch mit
SELECT EXTRACT(YEARDAY FROM
CURRENT_TIMESTAMP) FROM RDB$DATABASE;
F_MID ersetzbar durch SUBSTRING
SELECT 'cdefg' AS ISCORRECT,
F_MID('abcdefghijk', 2 ,5) FROM RDB$DATABASE
ist identisch mit
SELECT 'cdefg' AS ISCORRECT,
SUBSTRING('abcdefghijk' FROM 3 FOR 5) FROM
RDB$DATABASE
Ab
FireBird 1.5
CASE kann F_IF ersetzen
COLLESCE und
NULLIF ersetzen Abfragen auf NULL und F_STRINGLENGTH(..) = 0
bzw. ... = 0
Ab FireBird 2.0
F_UPPER ersetztbar durch UPPER - auch deutsche
Sonderzeichen
SELECT 'MÜLLER', F_UPPER('Müller') FROM
RDB$DATABASE;
ist identisch mit
SELECT 'MÜLLER', UPPER('Müller') FROM
RDB$DATABASE;
F_LOWER ersetztbar durch LOWER - auch deutsche
Sonderzeichen
SELECT 'müller', F_LOWER('MÜLLER') FROM
RDB$DATABASE;
ist identisch mit
SELECT 'müller', LOWER('MÜLLER') FROM
RDB$DATABASE;
F_RTRIM ersetzbar durch TRIM
SELECT
F_RTRIM('abcde ') FROM RDB$DATABASE
ist identisch mit
SELECT TRIM('abcde
') FROM RDB$DATABASE
F_IF ersetzbar durch IIF
SELECT F_IF(1, '>', 0, -1, 1)
FROM RDB$DATABASE;
ist identisch mit
SELECT IIF(1 > 0, -1, 1) FROM
RDB$DATABASE;
F_STRINGLENGTH ersetzbar durch CHARACTER_LENGTH und
F_STRINGLENGTH ersetzbar durch CHAR_LENGTH
SELECT F_STRINGLENGTH('abcde') FROM
RDB$DATABASE;
ist identisch mit
SELECT CHARACTER_LENGTH('abcde') FROM
RDB$DATABASE;
ist identisch mit
SELECT CHAR_LENGTH('abcde') FROM
RDB$DATABASE
Ab FireBird 2.1
Viele BLOb-Funktionen sind nun überflüssig, weil FireBird 2.1
jetzt BLObs wie "normale" Strings ansprechen kann
F_BLOBASPCHAR Umwandlung überflüssig, BLOBs können direkt
"verarbeitet" werden
F_STRBLOB Umwandlung überflüssig, BLOBs können direkt
"verarbeitet" werden
F_BLOB2EXCEL ersetzbar durch F_STR2EXCEL
F_BLOBCAT ersetzbar durch || (wie bei Strings)
F_BLOBCATSTR ersetzbar durch || (wie bei Strings)
F_BLOBLEFT ersetzbar durch F_LEFT oder durch die eingebaute Funktion
LEFT
F_BLOBMID ersetzbar durch F_MID
F_BLOBRIGHT ersetzbar durch F_RIGHT oder durch die eingebaute
Funktion RIGHT
F_BLOBREPLACESTRING ersetzbar durch F_REPLACESTRING
F_BLOBSUBSTR ersetzbar durch F_SUBSTR
F_BLOBWORDCOUNT ersetzbar durch F_WORDCOUNT
F_BLOBCOMPARE überflüssig, BLOBs können nun wie Strings direkt
verglichen werden
F_BLOBSTRPOS ersetzbar durch F_STRPOS
eingebaute Funktionen
F_ABS (F_DOUBLEABS, F_INTEGERABS) ersetzbar durch die eingebaute
Funktion ABS
F_ACOS ersetzbar durch die eingebaute Funktion ACOS
F_CHR (F_CHARACTER) ersetzbar durch die eingebaute Funktion
ASCII_CHAR
F_ORD ersetzbar durch die eingebaute Funktion ASCII_VAL
F_ASIN ersetzbar durch die eingebaute Funktion ASIN
F_ATAN ersetzbar durch die eingebaute Funktion ATAN
F_ATAN2 ersetzbar durch die eingebaute Funktion ATAN2
F_BIN_AND ersetzbar durch die eingebaute Funktion BIN_AND
F_BIN_OR ersetzbar durch die eingebaute Funktion BIN_OR
Anmerkung: BIN_NOT wurde wohl
vergessen ... gibt's nicht
F_BIN_SHL ersetzbar durch die eingebaute Funktion BIN_SHL
F_BIN_SHR ersetzbar durch die eingebaute Funktion BIN_SHR
F_BIN_XOR ersetzbar durch die eingebaute Funktion BIN_XOR
F_CEILING ersetzbar durch die eingebaute Funktion CEIL |
CEILING
F_COS ersetzbar durch die eingebaute Funktion COS
F_COSH ersetzbar durch die eingebaute Funktion COSH
F_COT ersetzbar durch die eingebaute Funktion COT
F_ADDYEAR, F_ADDMONTH, F_ADDWEEK, F_ADDDAY, F_ADDHOUR, F_ADDMINUTE,
F_ADDSECOND
ersetzbar durch die eingebaute Funktion DATEADD -
Achtung: völlig andere Syntax
F_AGEINYEARS,
F_AGEINMONTHS, F_AGEINWEEKS, F_AGEINDAYS, F_AGEINHOURS,
F_AGEINMINUTES,
F_AGEINSECONDS ersetzbar durch die eingebaute
Funktion DATEDIFF - bisher nicht testbar, da Bug - Achtung: völlig andere Syntax
F_IF ersetzbar durch die eingebaute Funktion DECODE - Achtung: völlig andere Syntax
F_EXP ersetzbar durch die eingebaute Funktion EXP
F_FLOOR ersetzbar durch die eingebaute Funktion FLOOR
GEN_UUID erzeugt eine UUID nicht
nach RFC4122
F_LEFT ersetzbar durch die eingebaute Funktion LEFT
F_LN ersetzbar durch die eingebaute Funktion LN
F_LOG ersetzbar durch die eingebaute Funktion LOG - Achtung:
Parameter vertauscht
F_LOG10 ersetzbar durch die eingebaute Funktion LOG10
F_PADLEFT ersetzbar durch die eingebaute Funktion LPAD - Achtung:
wenn der String, mit dem aufgefüllt werden soll aus mehr als einem
Zeichen besteht UND der Ergebnisstring ist zu lang, schneidet LPAD
rechts vom aufzufüllenden String ab, F_PADLEFT links davon
F_MAX (F_MAXNUM) ersetzbar durch die eingebaute
Funktion MAXVALUE
F_MIN (F_MINNUM) ersetzbar durch die eingebaute
Funktion MINVALUE
F_MODULO ersetzbar durch die eingebaute Funktion MOD
F_STRSTUFF ersetzbar durch die eingebaute Funktion OVERLAY - Achtung: völlig andere Syntax
F_PI ersetzbar durch die eingebaute Funktion PI
F_STRPOS ersetzbar durch die eingebaute Funktion POSITION - Achtung: völlig andere Syntax
F_POWER ersetzbar durch die eingebaute Funktion POWER
F_RAND ersetzbar durch die eingebaute Funktion RAND
F_REPLACE ersetzbar durch die eingebaute Funktion REPLACE
F_REVERSE ersetzbar durch die eingebaute Funktion REVERSE
F_RIGHT ersetzbar durch die eingebaute Funktion RIGHT
F_ZAHLRUNDEN (F_ROUNDCOMMON) ersetzbar durch die eingebaute
Funktion ROUND - Achtung: die
eingebaute Funktion ROUND kann auch auf Vorkommastellen runden
F_RPADRIGHT (F_RIGHTPAD) ersetzbar durch die eingebaute Funktion
RPAD
F_SIGN ersetzbar durch die eingebaute Funktion SIGN
F_SIN ersetzbar durch die eingebaute Funktion SIN
F_SINH ersetzbar durch die eingebaute Funktion SINH
F_SQRT ersetzbar durch die eingebaute Funktion SQRT
F_TAN ersetzbar durch die eingebaute Funktion TAN
F_TANH ersetzbar durch die eingebaute Funktion TANH
F_TRUNCATE ersetzbar durch die eingebaute Funktion TRUNC
|