String-Funktionen: Bearbeiten |
 |
ab |
 |
ersetzbar
durch
LEFT |
F_LEFT
(F_LEFT4, F_LEFT8)
F_BIGLEFT |
kompatibel
zu
FreeUDFLib,
FreeUDFLibC, FreeUDFLib AvERP, GrUDF |
Entrypoint |
left |
nicht UTF-8
kompatibel - benutze
U_LEFT(U_LEFT4, U_LEFT8)
|
U_LEFT
(U_LEFT4, U_LEFT8)
|
Funktion
von adhoc |
Entrypoint |
u_left |
UTF-8
kompatibel
|
Input |
CSTRING(254)
INTEGER |
String
der beschnitten
werden soll
Länge des auszugebenden Strings |
Output |
CSTRING(254) |
String
beschnitten
auf die Anzahl Zeichen von links von Parameter 2 |
Zählung
beginnt bei 1.
TestSQL
SELECT 'Dies i' AS ISCORRECT, F_LEFT('Dies ist ein Test', 6) FROM
RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_LEFT(NULL, NULL) FROM RDB$DATABASE;
SELECT 'abcäöüx' AS ISCORRECT,
U_LEFT('abcäöüxyz', 7) FROM RDB$DATABASE
SELECT 'abcäöüxyz' AS ISCORRECT,
U_LEFT('abcäöüxyz', 20) FROM RDB$DATABASE
SELECT NULL AS ISCORRECT, U_LEFT(NULL, NULL) FROM RDB$DATABASE;
SELECT
'Czech: Císlicový pocítac je
zarízení, které
zpracovává data' AS
ISCORRECT, U_LEFT('Císlicový pocítac
je
zarízení, které
zpracovává data',
250) FROM RDB$DATABASE;
SELECT 'Polish: poniewaz taka definicje
komputera spelniaja tez kalkulatory' AS ISCORRECT, U_LEFT('poniewaz
taka definicje komputera spelniaja tez kalkulatory', 250) FROM
RDB$DATABASE;
SELECT 'Russian: Выполнение поставленных перед ним
задач компьютер может' AS ISCORRECT, U_LEFT('Выполнение поставленных
перед ним задач компьютер может', 250) FROM RDB$DATABASE;
SELECT
'Greek:
Πρακτικά,
η
Επιστήμη
των
Υπολογιστών
(επίσης
Πληροφορική)
σχετίζεται'
AS
ISCORRECT,
U_LEFT('Πρακτικά,
η
Επιστήμη
των
Υπολογιστών
(επίσης
Πληροφορική)
σχετίζεται',
250)
FROM RDB$DATABASE;
SELECT 'という語は元々は算術計算を行う人' AS ISCORRECT, U_LEFT('という語は元々は算術計算を行う人',
250)
FROM RDB$DATABASE;
SELECT 'Japanese: という語は' AS ISCORRECT, U_LEFT('という語は元々は算術計算を行う人', 5)
FROM RDB$DATABASE;
Achtung - Schreibrichtung
von rechts nach links!
SELECT
'Arabic: اساسا يعبر مصطلح "حاسب" عن الشخص الذي يقوم بالحسابات
الرقمية
و' AS ISCORRECT, U_LEFT('اساسا يعبر مصطلح "حاسب" عن الشخص الذي يقوم
بالحسابات الرقمية و', 250) FROM RDB$DATABASE;
SELECT 'Arabic: اساسا'
AS ISCORRECT, U_LEFT('اساسا يعبر مصطلح "حاسب" عن الشخص الذي يقوم
بالحسابات الرقمية و', 5) FROM RDB$DATABASE; |
  |
ab |
 |
ersetzbar
durch SUBSTRING |
F_MID
(F_MID4, F_MID8)
F_BIGMID |
kompatibel
zu
FreeUDFLib,
FreeUDFLibC, FreeUDFLib AvERP
|
Entrypoint |
mid |
nicht UTF-8 kompatibel - benutze U_MID |
U_MID
(U_MID4, U_MID8)
|
Funktion von adhoc
|
Entrypoint |
u_mid |
UTF-8
kompatibel |
F_COPY
|
kompatibel
zu GrUDF
|
Entrypoint |
mid1 |
nicht UTF-8
kompatibel - benutze U_MID |
F_STRCOPY |
Input/Output-kompatibel
zu rFunc (SUBSTR, LONGSUBSTR) |
Entrypoint |
strcopy |
nicht
UTF-8 kompatibel - benutze U_MID |
Input |
CSTRING(254)
INTEGER
INTEGER |
String
der beschnitten
werden soll
Position, an der der auszugebende String beginnt
Länge des auszugebenden Strings |
Output |
CSTRING(254) |
String
beginnende
bei Position aus Parameter 2 in der Länge von
Parameter 3 |
Zählung
beginnt bei F_MID und F_STRCOPY für Parameter 2 bei
0, bei F_COPY für Parameter 2 bei 1!
TestSQL
SELECT 'tag' AS ISCORRECT, F_MID('Geburtstagsparty', 7, 3)
FROM RDB$DATABASE;
SELECT 'tag' AS ISCORRECT, F_COPY('Geburtstagsparty', 8, 3)
FROM RDB$DATABASE;
SELECT 'tag' AS ISCORRECT, F_STRCOPY('Geburtstagsparty', 7,
3) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_MID(NULL, NULL, NULL) FROM RDB$DATABASE;
SELECT 'cäöüx' AS ISCORRECT,
U_MID('abcäöüxyz', 2, 5) FROM RDB$DATABASE
SELECT NULL AS ISCORRECT, U_MID(NULL, NULL, NULL) FROM RDB$DATABASE; |
  |
ab |
 |
ersetzbar
durch RIGHT |
F_RIGHT
(F_RIGHT4, F_RIGHT8)
F_BIGRIGHT |
kompatibel
zu
FreeUDFLib,
FreeUDFLibC, FreeUDFLib AvERP, GrUDF |
Entrypoint |
right |
nicht UTF-8
kompatibel - benutze U_RIGHT |
U_RIGHT
(U_RIGHT4, U_RIGHT8)
|
Funktion
von adhoc |
Entrypoint |
u_right |
UTF-8
kompatibel |
Input |
CSTRING(254)
INTEGER |
String
der beschnitten
werden soll
Länge des auszugebenden Strings |
Output |
CSTRING(254) |
String
beschnitten
auf die Anzahl Zeichen von rechts von Parameter 2 |
Zählung
beginnt bei 1
TestSQL
SELECT 'n Test' AS ISCORRECT, F_RIGHT('Dies ist ein Test', 6) FROM
RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_RIGHT(NULL, NULL) FROM RDB$DATABASE;
SELECT 'cäöüxyz' AS ISCORRECT,
U_RIGHT('abcäöüxyz', 7) FROM RDB$DATABASE
SELECT 'abcäöüxyz' AS ISCORRECT,
U_RIGHT('abcäöüxyz', 20) FROM RDB$DATABASE
SELECT NULL AS ISCORRECT, U_RIGHT(NULL, NULL) FROM RDB$DATABASE; |
  |
ab |
 |
ersetzbar
durch POSITION |
F_SUBSTR
(F_SUBSTR4, F_SUBSTR8)
F_BIGSUBSTR
|
kompatibel
zu
FreeUDFLibC
|
Entrypoint |
substr |
nicht UTF-8
kompatibel - benutze U_SUBSTR |
Input |
CSTRING(8190)
CSTRING(1024) |
String
1
in dem
die Position von Parameter 2 ermittelt werden soll
String 2 dessen Position in Parameter 1 ermittelt werden soll |
Output |
INTEGER |
erste
Position
im String 1 aus, bei der der String 2 beginnt. |
F_STRSUB
|
kompatibel
zu FreeUDFLib,
FreeUDFLib AvERP, GrUDF
|
Entrypoint |
strsub |
nicht UTF-8
kompatibel - benutze U_SUBSTR |
F_STRPOS |
Input/Output-kompatibel
zu rFunc
(STRPOS) |
Entrypoint |
strpos |
nicht UTF-8
kompatibel - benutze U_SUBSTR |
Input |
CSTRING(1024)
CSTRING(8190) |
String
1
dessen
Position in Parameter 2 ermittelt werden soll
String 2 in dem
die Position von Parameter 1 ermittelt werden soll |
Output |
INTEGER |
erste
Position
im String 2 aus, bei der der String 1 beginnt. |
F_SUBSTR,
F_STRSUB etc.: Zählung beginnt bei 0, bei Nichtgefunden -1.
F_STRPOS:
Zählung beginnt bei 1, bei Nichtgefunden 0.
Anmerkung:
In der originalen FreeUDFLib (1998 by Gregory Deatz) ist die
Reihenfolge der Eingabe-Parameter vertauscht gegenüber den
anderen
String-Funktionen und vor allem wie in der C-Portierung (1999 by
Gregory Deatz) der FreeUDFLibC.
Um nun Kompatibilität für beide Varianten
herzustellen, gibt
es verschiedene “Entrypoints”, die in dem
DECLARE-Script von
F_SUBSTR
verwendet werden können:
- Für eine Kompatibilität zur (Delphi-)FreeUDFLib,
zur FreeUDFLib AvERP
und zur GrUDF (die wiederum ihrerseits Kompatible zur
Delphi-FreeUDFLib
ist) verwendet man den Entrypoint "strsub"
- für eine Kompatibilität zur FreeUDFLibC den
Entrypoint "substr".
TestSQL (Version FreeUDFLibC mit Entrypoint substr)
SELECT 9 AS ISCORRECT, F_SUBSTR('Pauline fährt in Urlaub',
'ähr') FROM
RDB$DATABASE;
SELECT -1 AS ISCORRECT, F_SUBSTR('Pauline fährt in Urlaub',
'chr') FROM
RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_SUBSTR(NULL, NULL) FROM RDB$DATABASE;
SELECT
10 AS ISCORRECT, F_STRPOS('ähr', 'Pauline fährt in
Urlaub') FROM
RDB$DATABASE;
SELECT 0 AS ISCORRECT, F_STRPOS('chr', 'Pauline
fährt in Urlaub') FROM RDB$DATABASE;
TestSQL (Version FreeUDFLib, GrUDF mit Entrypoint strsub)
SELECT 9 AS ISCORRECT, F_SUBSTR('ähr', 'Pauline fährt
in Urlaub') FROM
RDB$DATABASE; |
  |
ab |
 |
ersetzbar
durch POSITION |
F_SUBSTRN
(F_SUBSTR) |
Funktion
von adhoc |
Entrypoint |
substrnull |
nicht UTF-8 kompatibel -
benutze U_SUBSTR |
U_SUBSTR |
Funktion
von adhoc |
Entrypoint |
u_substr |
UTF-8 kompatibel |
Input |
CSTRING(8190)
CSTRING(1024) |
String
1
in dem
die Position von Parameter 2 ermittelt werden soll
String 2 dessen Position in Parameter 1 ermittelt werden soll |
Output |
INTEGER |
erste
Position
im String 1 aus, bei der der String 2 beginnt. |
F_STRSUBN |
Funktion
von adhoc |
Entrypoint |
strsubnull |
nicht UTF-8
kompatibel - benutze U_SUBSTR |
Input |
CSTRING(1024)
CSTRING(8190) |
String
1
dessen
Position in Parameter 2 ermittelt werden soll
String 2 in dem
die Position von Parameter 1 ermittelt werden soll |
Output |
INTEGER |
erste
Position
im String 2 aus, bei der der String 1 beginnt. |
Die
beiden vorigen Varianten (F_SUBSTR und
F_STRSUB) liefern bei Nichtvorkommen des Suchstrings -1.
Um nun auch in diesem Fall korrekt ein <null> zu bekommen
(und
die alte Variante beibehalten zu können), verwendet man den
Entrypoint
"strsubnull" bzw. "substrnull".
TestSQL (Version FreeUDFLibC mit Entrypoint substrnull)
SELECT NULL AS ISCORRECT, F_SUBSTR('Pauline fährt in Urlaub',
'chr')
FROM
RDB$DATABASE;
SELECT 9 AS ISCORRECT, U_SUBSTR('Pauline fährt in Urlaub',
'ähr') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, U_SUBSTR('Pauline fährt in Urlaub',
'chr') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, U_SUBSTR(NULL, NULL) FROM RDB$DATABASE;
SELECT 5 AS ISCORRECT, U_SUBSTR('Выполнение поставленных перед',
'нен')
FROM RDB$DATABASE; |
  |
F_STRRM
|
kompatibel
zu |
Entrypoint |
strrm |
nicht UTF-8
kompatibel - benutze U_STRRM |
U_STRRM
|
Funktion
von adhoc |
Entrypoint |
u_strrm |
UTF-8
kompatibel |
Input |
CSTRING(8190)
INTEGER |
String,
aus
dem
eine Stelle entfernt werden soll
Stelle im String, die entfernt werden soll |
Output |
CSTRING(8190) |
String
aus dem
ein Zeichen entfernt wurde |
Zählung
beginnt für Parameter 2 bei 0
TestSQL
SELECT 'ies ist ein Test' AS ISCORRECT, F_STRRM('Dies ist ein Test',
0)
FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_STRRM(NULL, NULL) FROM RDB$DATABASE;
SELECT 'ies ist ein Test' AS ISCORRECT, U_STRRM('Dies ist ein Test',
0)
FROM RDB$DATABASE;
SELECT 'Выолнение' AS ISCORRECT, U_STRRM('Выполнение', 2) FROM
RDB$DATABASE; |
  |
F_LTRIM
(F_LTRIM4, F_LTRIM8)
F_BIGLTRIM |
kompatibel
zu
FreeUDFLib,
FreeUDFLibC, FreeUDFLib AvERP, GrUDF
Input/Output-kompatibel
zu rFunc (LTRIM, LONGLTRIM) |
Entrypoint |
ltrim |
UTF-8 kompatibel |
Input |
CSTRING(8190) |
String,
dessen
Leerzeichen zu Beginn entfernt werden sollen |
Output |
CSTRING(8190) |
String
ohne
alle einfachen Leerzeichen zu Beginn des Strings |
Entfernt
nicht
die geschützten Leerzeichen (mit <ALT>
<255> eingegebene)
TestSQL
SELECT 'Dies ist ein Test' AS ISCORRECT, F_LTRIM('
Dies ist ein Test') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_LTRIM(NULL) FROM RDB$DATABASE; |
  |
ab |
 |
ersetzbar
durch TRIM |
F_RTRIM
(F_RTRIM4, F_RTRIM8)
F_BIGRTRIM |
kompatibel
zu
FreeUDFLib,
FreeUDFLibC, FreeUDFLib AvERP, GrUDF
Input/Output-kompatibel
zu rFunc
(RTRIM, LONGRTRIM) |
Entrypoint |
rtrim |
UTF-8 kompatibel |
Input |
CSTRING(8190) |
String,
dessen
Leerzeichen am Ende entfernt werden sollen |
Output |
CSTRING(8190) |
String
ohne
alle einfachen Leerzeichen am Ende des Strings |
Entfernt
nicht
die geschützten Leerzeichen (mit <ALT>
<255> eingegebene)
TestSQL
SELECT 'Dies ist ein Test' AS ISCORRECT,
F_STRINGLENGTH(F_RTRIM('Dies
ist ein Test ')) AS ANZ_ZEICHEN, F_RTRIM('Dies ist
ein
Test ') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_STRINGLENGTH(F_RTRIM(NULL)) AS
ANZ_ZEICHEN,
F_RTRIM(NULL) FROM RDB$DATABASE; |
  |
F_LRTRIM
(F_LRTRIM4, F_LRTRIM8)
F_BIGLRTRIM |
kompatibel
zu
FreeUDFLib,
FreeUDFLibC, FreeUDFLib AvERP, GrUDF
Input/Output-kompatibel
zu rFunc
(TRIM, LONGTRIM)
|
Entrypoint |
lrtrim |
UTF-8 kompatibel |
Input |
CSTRING(8190) |
String,
dessen
Leerzeichen zu Beginn und am Ende entfernt werden sollen |
Output |
CSTRING(8190) |
String
ohne
alle einfachen Leerzeichen zu Beginn und am Ende des Strings. |
Entfernt
nicht
die geschützten Leerzeichen (mit <ALT>
<255> eingegebene)
TestSQL
SELECT 'Dies ist ein Test' AS ISCORRECT,
F_STRINGLENGTH(F_LRTRIM(' Dies ist ein
Test ')) AS
ANZ_ZEICHEN, F_LRTRIM(' Dies ist ein Test
') FROM
RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_STRINGLENGTH(F_LRTRIM(NULL)) AS
ANZ_ZEICHEN, F_LRTRIM(NULL) FROM RDB$DATABASE; |
  |
ab |
 |
ersetzbar
durch LPAD |
F_PADLEFT |
kompatibel
zu
FreeUDFLib,
FreeUDFLibC, FreeUDFLib AvERP, GrUDF |
Entrypoint |
padleft |
nicht UTF-8 kompatibel -
benutze U_PADLEFT |
U_PADLEFT |
Funktion
von adhoc |
Entrypoint |
u_padleft |
UTF-8 kompatibel |
Input |
CSTRING(4095)
CSTRING(16)
INTEGER |
String
1 der
mit den Zeichen links aufgefüllt werden soll
String 2 mit dem String 1 aufgefüllt werden soll
Länge des Strings, bis auf die aufgefüllt werden soll |
Output |
CSTRING(4095) |
String
der
links mit dem/den Zeichen aus String 2 auf die
Gesamtlänge von
Zeichen von Parameter 3 aufgefüllt wurde |
F_RPADLEFT |
Input/Output-kompatibel
zu rFunc (PADLEFT, LOGPADLEFT) |
Entrypoint |
r_padleft |
nicht UTF-8 kompatibel -
benutze U_PADLEFT |
Input |
CSTRING(4095)
INTEGER
CSTRING(16)
|
String
1 der
mit den Zeichen links aufgefüllt werden soll
Länge des Strings, bis auf die aufgefüllt werden soll
String 2 mit dem String 1 aufgefüllt werden soll |
Output |
CSTRING(4095) |
String
der
links mit dem/den Zeichen aus String 3 auf die
Gesamtlänge von
Zeichen von Parameter 2 aufgefüllt wurde |
Werden
in String 2 mehr als ein Zeichen eingegeben, beginnt die
Auffüllung mit
den Zeichen aus String 2 von rechts und bricht ab, wenn die
geforderte
Anzahl von Gesamtzeichen erreicht ist (s. 2. TestSQL)
TestSQL
SELECT 'XXXDies ist ein Test' AS ISCORRECT, F_PADLEFT('Dies ist ein
Test', 'X', 20) FROM RDB$DATABASE;
SELECT 'xXxDies ist ein Test' AS ISCORRECT, F_PADLEFT('Dies ist ein
Test', 'Xx', 20) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_PADLEFT(NULL, NULL, NULL) FROM
RDB$DATABASE;
SELECT 'XXXDies ist ein Test' AS ISCORRECT, F_RPADLEFT('Dies ist ein
Test', 20, 'X') FROM RDB$DATABASE;
SELECT 'xXxDies ist ein Test' AS ISCORRECT, F_RPADLEFT('Dies ist ein
Test', 20, 'Xx') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_PADLEFT(NULL, NULL, NULL) FROM
RDB$DATABASE;
SELECT 'XXXabcäöüxyz' AS ISCORRECT,
U_PADLEFT('abcäöüxyz', 'X', 12) FROM
RDB$DATABASE;
SELECT 'XxXabcäöüxyz' AS ISCORRECT,
U_PADLEFT('abcäöüxyz', 'Xx', 12) FROM
RDB$DATABASE;
SELECT NULL AS ISCORRECT, U_PADLEFT(NULL, NULL, NULL) FROM
RDB$DATABASE; |
  |
ab |
 |
ersetzbar
durch RPAD |
F_PADRIGHT |
kompatibel
zu
FreeUDFLib,
FreeUDFLibC, FreeUDFLib AvERP, GrUDF |
Entrypoint |
padright |
nicht UTF-8
kompatibel - benutze
U_PADRIGHT |
U_PADRIGHT |
Funktion
von adhoc |
Entrypoint |
u_padright |
UTF-8
kompatibel |
Input |
CSTRING(4095)
CSTRING(16)
INTEGER |
String
1 der
mit den Zeichen rechts aufgefüllt werden soll
String 2 mit dem String 1 aufgefüllt werden soll
Länge des Strings, bis auf die aufgefüllt werden soll |
Output |
CSTRING(4095) |
String
der
rechts mit dem/den Zeichen aus String 2 auf die Gesamtlänge
von Zeichen
von Parameter 3 aufgefüllt wurde |
F_RPADRIGHT |
Input/Output-kompatibel
zu rFunc (PADRIGHT, LONGPADRIGHT) |
Entrypoint |
r_padright |
nicht UTF-8
kompatibel - benutze
U_PADRIGHT |
Input |
CSTRING(4095)
INTEGER
CSTRING(16)
|
String
1 der
mit den Zeichen rechts aufgefüllt werden soll
Länge des Strings, bis auf die aufgefüllt werden soll
String 2 mit dem String 1 aufgefüllt werden soll |
Output |
CSTRING(4095) |
String
der
rechts mit dem/den Zeichen aus String 3 auf die Gesamtlänge
von Zeichen
von Parameter 2 aufgefüllt wurde |
Werden
in String 2 mehr als ein Zeichen eingegeben, beginnt die
Auffüllung mit
den Zeichen aus String 2 von links und bricht ab, wenn die
geforderte
Anzahl von Gesamtzeichen erreicht ist (s. 2. TestSQL)
TestSQL
SELECT 'Dies ist ein TestXXX' AS ISCORRECT, F_PADRIGHT('Dies ist ein
Test', 'X', 20) FROM RDB$DATABASE;
SELECT 'Dies ist ein TestXxX' AS ISCORRECT, F_PADRIGHT('Dies ist ein
Test', 'Xx', 20) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_PADRIGHT(NULL, NULL, NULL) FROM
RDB$DATABASE;
SELECT 'Dies ist ein TestXXX' AS ISCORRECT, F_RPADRIGHT('Dies ist
ein
Test', 20, 'X') FROM RDB$DATABASE;
SELECT 'Dies ist ein TestXxX' AS ISCORRECT, F_RPADRIGHT('Dies ist
ein
Test', 20, 'Xx') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_PADRIGHT(NULL, NULL, NULL) FROM
RDB$DATABASE;
SELECT 'abcäöüxyzXXX' AS ISCORRECT,
U_PADRIGHT('abcäöüxyz', 'X', 12) FROM
RDB$DATABASE;
SELECT 'abcäöüxyzXxX' AS ISCORRECT,
U_PADRIGHT('abcäöüxyz', 'Xx', 12) FROM
RDB$DATABASE;
SELECT NULL AS ISCORRECT, U_PADRIGHT(NULL, NULL, NULL) FROM
RDB$DATABASE; |
  |
F_PADCENTER |
Funktion
von adhoc
|
Entrypoint |
padcenter |
nicht UTF-8 kompatibel -
benutze U_PADCENTER |
U_PADCENTER |
Funktion
von adhoc
|
Entrypoint |
u_padcenter |
UTF-8 kompatibel |
Input |
CSTRING(4095)
CSTRING(16)
INTEGER |
String
1 der
mit den Zeichen links und rechts aufgefüllt
werden soll
String 2 mit dem String 1 aufgefüllt werden soll
Länge des Strings, bis auf die aufgefüllt werden soll |
Output |
CSTRING(4095) |
String
der
links und rechts mit dem/den Zeichen aus String 2 auf die
Gesamtlänge
von Zeichen von Parameter 3 aufgefüllt wurde |
Bei
“ungeradem” Auffüllen wird immer links ein
Zeichen mehr aufgefüllt.
TestSQL
SELECT 'XXDies ist ein TestXX' AS ISCORRECT, F_PADCENTER('Dies ist
ein
Test', 'X', 21) FROM RDB$DATABASE;
SELECT 'XXDies ist ein TestX' AS ISCORRECT, F_PADCENTER('Dies ist
ein
Test', 'X', 20) FROM RDB$DATABASE;
SELECT 'XxDies ist ein TestXx' AS ISCORRECT, F_PADCENTER('Dies ist
ein
Test', 'Xx', 21) FROM RDB$DATABASE;
SELECT 'XxDies ist ein TestX' AS ISCORRECT, F_PADCENTER('Dies ist
ein
Test', 'Xx', 20) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_PADCENTER(NULL, NULL, NULL) FROM
RDB$DATABASE;
SELECT 'XXabcäöüxyzXX' AS ISCORRECT,
U_PADCENTER('abcäöüxyz', 'X', 13) FROM
RDB$DATABASE;
SELECT 'XXXabcäöüxyzXX' AS ISCORRECT,
U_PADCENTER('abcäöüxyz', 'X', 14) FROM
RDB$DATABASE;
SELECT 'XxabcäöüxyzXx' AS ISCORRECT,
U_PADCENTER('abcäöüxyz', 'Xx', 13) FROM
RDB$DATABASE;
SELECT 'XxXabcäöüxyzXx' AS ISCORRECT,
U_PADCENTER('abcäöüxyz', 'Xx', 14) FROM
RDB$DATABASE;
SELECT NULL AS ISCORRECT, U_PADCENTER(NULL, NULL, NULL) FROM
RDB$DATABASE; |
  |
F_LINEWRAP
|
kompatibel
zu
FreeUDFLib,
FreeUDFLibC, FreeUDFLib AvERP, GrUDF |
Entrypoint |
linewrap |
nicht UTF-8
kompatibel -
benutze U_LINEWRAP |
U_LINEWRAP
|
Funktion
von adhoc
|
Entrypoint |
u_linewrap |
UTF-8
kompatibel |
Input |
CSTRING(32760)
INTEGER
INTEGER |
String
Startposition
Spaltenbreite |
Output |
CSTRING(32760) |
alle
Wörter des
Strings aus, beginnen bei der Startposition, der zusammen nicht
länger
als die Spaltenbreite sind |
Zählung
beginnt bei 0.
TestSQL
SELECT 'alle zu einer Geburtstagsparty' AS ISCORRECT,
F_LINEWRAP('Wir gehen alle zu einer Geburtstagsparty', 10, 30) FROM
RDB$DATABASE;
SELECT 'alle zu einer' AS ISCORRECT, F_LINEWRAP('Wir gehen
alle zu einer Geburtstagsparty', 10, 29) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_LINEWRAP(NULL, NULL, NULL) FROM
RDB$DATABASE;
SELECT 'älle zu einer
Gebürtstagspörty' AS
ISCORRECT, U_LINEWRAP('Wir gehen älle zu einer
Geburtstagsparty',
10, 31) FROM RDB$DATABASE;
SELECT 'alle zu einer Geburtstagsparty' AS ISCORRECT,
U_LINEWRAP('Wir gehen alle zu einer Geburtstagsparty', 10, 30) FROM
RDB$DATABASE;
SELECT 'alle zu einer' AS ISCORRECT, U_LINEWRAP('Wir gehen
alle zu einer Geburtstagsparty', 10, 29) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, U_LINEWRAP(NULL, NULL, NULL) FROM
RDB$DATABASE; |
  |
ab |
 |
ersetzbar
durch REPLACE |
F_REPLACE
(F_REPLACE4, ...8)
F_BIGREPLACE |
kompatibel
zu
FreeUDFLibC
Input/Output-kompatibel
zu rFunc (STRREPLACE, LONGSTRREPLACE) |
Entrypoint |
replace |
UTF-8 kompatibel |
Input |
CSTRING(32760)
CSTRING(254)
CSTRING(254) |
String,
in
dem
eine Zeichenkette ausgetauscht werden soll
der auszutauschende String
der String der neu gesetzt werden soll |
Output |
CSTRING(32760) |
String
indem Zeichenkette
aus Parameter 2 durch Parameter 3
ersetzt wurden |
Einfache
Version der Funktion F_REPLACESTRING ohne Möglichkeit nur
einmal zu
ersetzen sowie unabhängig von Groß-/Kleinschreibung
auszutauschen.
TestSQL
SELECT 'Dies ist ein Versuch zwei Versuch drei Versuch vier TEST' AS
ISCORRECT, F_REPLACE('Dies ist ein Test zwei Test drei Test vier
TEST',
'Test', 'Versuch') FROM RDB$DATABASE;
SELECT 'test' AS ISCORRECT, F_REPLACE('test','','t') FROM
RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_REPLACE(NULL, NULL, NULL) FROM
RDB$DATABASE; |
  |
F_REPLACESTRING
(..4, ..8)
F_BIGREPLACESTRING |
kompatibel
zu FreeUDFLib
AvERP, GrUDF |
Entrypoint |
replacestring |
nicht UTF-8 kompatibel -
benutze U_REPLACESTRING |
U_REPLACESTRING
(..4, ..8)
|
Funktion
von adhoc |
Entrypoint |
u_replacestring |
UTF-8 kompatibel |
Input |
CSTRING(32760)
CSTRING(254)
CSTRING(254)
INTEGER
INTEGER |
String,
in
dem
eine Zeichenkette ausgetauscht werden soll
der auszutauschende String
der String der neu gesetzt werden soll
0 = nur das erste Vorkommen austauschen, 1 = alle Vorkommen
austauschen
0 = Groß-/Kleinschreibung berücksichtigen, 1 = nicht
berücksichtigen |
Output |
CSTRING(32760) |
String
indem Zeichenkette/n
aus Parameter 2 durch Parameter
3 ersetzt wurden |
TestSQL
SELECT 'Dies ist ein Versuch zwei Test drei Test vier TEST' AS
ISCORRECT, F_REPLACESTRING('Dies ist ein Test zwei Test drei Test
vier
TEST', 'Test', 'Versuch', 0, 0) FROM RDB$DATABASE;
SELECT 'Dies ist ein Versuch zwei Test drei Test vier TEST' AS
ISCORRECT, F_REPLACESTRING('Dies ist ein Test zwei Test drei Test
vier
TEST', 'Test', 'Versuch', 0, 1) FROM RDB$DATABASE;
SELECT 'Dies ist ein Versuch zwei Versuch drei Versuch vier TEST' AS
ISCORRECT, F_REPLACESTRING('Dies ist ein Test zwei Test drei Test
vier
TEST', 'Test', 'Versuch', 1, 0) FROM RDB$DATABASE;
SELECT 'Dies ist ein Versuch zwei Versuch drei Versuch vier Versuch'
AS
ISCORRECT, F_REPLACESTRING('Dies ist ein Test zwei Test drei Test
vier
TEST', 'Test', 'Versuch', 1, 1) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_REPLACESTRING(NULL, NULL, NULL, NULL,
NULL)
FROM RDB$DATABASE;
SELECT 'x123x456' AS ISCORRECT,
F_REPLACESTRING('Ä123ä456', 'ä', 'x', 1, 1)
FROM RDB$DATABASE;
SELECT 'x123x456' AS ISCORRECT,
F_REPLACESTRING('Ä123ä456', 'Ä', 'x', 1, 1)
FROM RDB$DATABASE;
SELECT 'x123x456' AS ISCORRECT,
U_REPLACESTRING('Ä123ä456', 'ä', 'x', 1, 1)
FROM RDB$DATABASE;
SELECT 'x123x456' AS ISCORRECT,
U_REPLACESTRING('Ä123ä456', 'Ä', 'x', 1, 1)
FROM RDB$DATABASE; |
  |
F_CONVERTSYMBOLS |
Input/Output-kompatibel
zu
rFunc (CONVERTSYMBOLS, LONGCONVERTSYMBOLS) |
Entrypoint |
convertsymbols |
nicht UTF-8 kompatibel -
benutze U_CONVERTSYMBOLS |
U_CONVERTSYMBOLS |
Funktion
von adhoc
|
Entrypoint |
u_convertsymbols |
UTF-8 kompatibel |
Input |
CSTRING(32760)
CSTRING(254)
CSTRING(254) |
String in
dem
Zeichen ausgetauscht werden soll
String 2 mit den einzelnen
Zeichen, die ausgetauscht werden sollen
String 3 mit den
Zeichen, die die Zeichen an der gleichen Stelle aus String 2
ersetzten sollen |
Output |
CSTRING(32760) |
String
in
dem alle einzelnen Zeichen aus String 2 ersetzt wurden |
TestSQL
SELECT
'(a+ab)-abc*a+b=c' AS ISCORRECT,
F_CONVERTSYMBOLS('(1+12)-123*1+2=3',
'123', 'abc') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_CONVERTSYMBOLS(NULL, NULL, NULL)
FROM RDB$DATABASE;
SELECT
'(a+ab)-abc*a+b=c' AS ISCORRECT,
U_CONVERTSYMBOLS('(1+12)-123*1+2=3',
'123', 'abc') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, U_CONVERTSYMBOLS(NULL, NULL, NULL)
FROM RDB$DATABASE; |
  |
ab |
 |
ersetzbar
durch REVERSE |
F_REVERSE |
Funktion
von adhoc
|
Entrypoint
|
reverse |
nicht UTF-8 kompatibel -
benutze U_REVERSE |
U_REVERSE |
Funktion
von adhoc
|
Entrypoint
|
u_reverse |
UTF-8 kompatibel |
Input |
CSTRING(254) |
String
der
rückwärts ausgegeben werden soll |
Output |
CSTRING(254) |
String
rückwärts |
Groß-/Kleinbuchstaben
bleiben
dabei so wie sie
waren.
TestSQL
SELECT 'ynamreG' AS ISCORRECT, F_REVERSE('Germany') FROM
RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_REVERSE(NULL) FROM RDB$DATABASE;
SELECT 'ynamreG' AS ISCORRECT, U_REVERSE('Germany') FROM
RDB$DATABASE;
SELECT 'ývocilsíČ' AS ISCORRECT,
U_REVERSE('Číslicový') FROM RDB$DATABASE; |
  |
F_STRIPSTRING
F_BIGSTRIPSTRING
|
kompatibel
zu
FreeUDFLib,
FreeUDFLibC, FreeUDFLib AvERP, GrUDF |
Entrypoint
|
stripstring |
nicht UTF-8 kompatibel -
benutze U_STRIPSTRING |
U_STRIPSTRING |
Funktion
von
adhoc |
Entrypoint
|
u_stripstring |
UTF-8 kompatibel |
Input |
CSTRING(32760)
CSTRING(254) |
String
1
(aus
dem alle Zeichen von String 2 entfernt werden sollen)
String 2 (Zeichen die entfernt werden sollen) |
Output |
CSTRING(32760) |
String
aus
dem alle die Zeichen, die im String 2 sind,
entfernt wurden |
Gegenstück
zu F_STRIPSTRINGHOLD und
F_HOLDSTRING
TestSQL
SELECT 'Ds s n Ts Tx' AS ISCORRECT, F_STRIPSTRING('Dies ist ein Test
Text', 'iet') FROM RDB$DATABASE;
SELECT 'Ds s n Ts Tx' AS ISCORRECT, F_STRIPSTRING('Dies ist ein Test
Text', 'tei') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_STRIPSTRING(NULL, NULL) FROM
RDB$DATABASE;
SELECT 'Ds s n Ts Tx' AS ISCORRECT, U_STRIPSTRING('Dies ist ein Test
Text', 'iet') FROM RDB$DATABASE;
SELECT
'Dies ist ein Test öüß' AS ISCORRECT,
U_STRIPSTRING('Diesä istä einä Test
äöüß', 'ä') FROM
RDB$DATABASE; |
  |
F_STRIPSTRINGHOLD
F_HOLDSTRING
F_BIGSTRIPSTRINGHOLD |
kompatibel
zu
FreeUDFLib,
FreeUDFLib AvERP, GrUDF
kompatibel
zu
|
Entrypoint
|
stripstringhold |
nicht UTF-8
kompatibel - benutze
U_STRIPSTRINGHOLD |
U_STRIPSTRINGHOLD |
Funktion
von
adhoc |
Entrypoint
|
u_stripstringhold |
UTF-8
kompatibel |
Input |
CSTRING(32760)
CSTRING(254) |
String
1
aus
dem Zeichen entfernt werden soll
String 2 Aufflistung aller Zeichen, die nicht
entfernt
werden sollen |
Output |
CSTRING(32760) |
String
aus
dem alle die Zeichen, die nicht
im String 2 sind, entfernt wurden |
Die
Reihenfolge der Zeichen im String 2 spielt
keine Rolle.
Gegenstück zu F_STRIPSTRING
TestSQL
SELECT 'ieiteietet' AS ISCORRECT, F_HOLDSTRING('Dies ist ein Test
Text', 'iet') FROM RDB$DATABASE;
SELECT 'ieiteietet' AS ISCORRECT, F_HOLDSTRING('Dies ist ein Test
Text', 'tei') FROM RDB$DATABASE;
SELECT 'ieiteietet' AS ISCORRECT, F_HOLDSTRING('Dies ist ein Test
Text', 'iet') FROM RDB$DATABASE;
SELECT 'ieiteietet' AS ISCORRECT, F_HOLDSTRING('Dies ist ein Test
Text', 'tei') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_STRIPSTRINGHOLD(NULL, NULL) FROM
RDB$DATABASE;
SELECT 'ieiteietet' AS ISCORRECT, U_STRIPSTRINGHOLD('Dies ist ein
Test
Text', 'iet') FROM RDB$DATABASE;
SELECT
'ääääö' AS ISCORRECT,
U_STRIPSTRINGHOLD('Diesä istä einä Test
äöüß', 'äö')
FROM RDB$DATABASE; |
  |
F_REPEATTRIM |
Input/Output-kompatibel
zu
rFunc (REPEATTRIM, LONGREPEATTRIM)
|
Entrypoint
|
repeattrim |
nicht UTF-8 kompatibel -
benutze U_REPEATTRIM |
U_REPEATTRIM |
Funktion
von adhoc
|
Entrypoint
|
u_repeattrim |
UTF-8 kompatibel |
Input |
CSTRING(8190)
CSTRING(1) |
String
1
aus
dem Zeichen entfernt werden soll
Zeichen das entfernt
werden soll |
Output |
CSTRING(8190) |
String
aus dem alle
Wiederholungen von String 2
entfernt wurden |
TestSQL
SELECT '123' AS ISCORRECT, F_REPEATTRIM('12223', '2') FROM
RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_REPEATTRIM(NULL, NULL) FROM
RDB$DATABASE;
SELECT 'abcäöuxyz' AS ISCORRECT,
U_REPEATTRIM('abcäääöüxyz',
'ä') FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, U_REPEATTRIM(NULL, NULL) FROM
RDB$DATABASE;
|
  |
F_STRREPEAT |
Input/Output-kompatibel
zu
rFunc (STRREPEAT, LONGSTRREPEAT)
|
Entrypoint
|
strrepeat |
UTF-8
kompatibel |
Input |
CSTRING(254)
SMALLINT |
String
der
wiederholt werden soll
Anzahl des gewünschten Vorkommens von String 1
|
Output |
CSTRING(8190) |
String
1 Parameter 2 mal
vorkommend
|
Es ist
darauf zu achten, daß der Output die definierte
Länge nicht übersteigt!
TestSQL
SELECT 'TestTestTest' AS ISCORRECT, F_STRREPEAT('Test', 3) FROM
RDB$DATABASE;
SELECT '' AS ISCORRECT, F_STRREPEAT('Test', 0)
FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_STRREPEAT(NULL,
NULL) FROM
RDB$DATABASE; |
  |
F_STROFCHAR |
kompatibel
zu
GrUDF |
Entrypoint |
strofchar |
nicht
UTF-8 kompatibel - benutze F_STRREPEAT |
Input |
CSTRING(1)
INTEGER |
String,
der
wiederholt
werden soll
Anzahl der Wiederholungen |
Output |
CSTRING(32760) |
String
mit der
angegebenen Anzahl wiederholter Zeichen zurück |
TestSQL
SELECT F_STRINGLENGTH(F_STROFCHAR('A', 10)) || ' mal A' AS
ISCORRECT,
F_STROFCHAR('A', 10) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_STROFCHAR(NULL, NULL) FROM RDB$DATABASE; |
  |
ab |
 |
ersetzbar
durch OVERLAY |
F_STRSTUFF |
Input/Output-kompatibel
zu
rFunc (STRSTUFF, LONGSTRSTUFF)
|
Entrypoint
|
strstuff |
nicht UTF-8 kompatibel -
benutze U_STRSTUFF |
U_STRSTUFF |
Funktion
von adhoc
|
Entrypoint
|
u_strstuff |
UTF-8 kompatibel |
Input |
CSTRING(8190)
SMALLINT
SMALLINT
CSTRING(254) |
String
1
in
dem Zeichen ausgetauscht werden sollen
Anfangsposition
Anzahl der Zeichen, die ausgetauscht werden
sollen
Zeichen die gesetzt werden sollen |
Output |
CSTRING(81900) |
String
in
dem ab Anfangsposition Parameter 3 Zeichen mit den Zeichen aus
Parameter 4 ersetzt wurden |
Die Zählung der
Anfangsposition
beginnt bei 1.
Die
Anzahl der Zeichen die entfernt und die Anzahl der Zeichen, die
dafür
eingesetzt werden müssen nicht identisch sein.
TestSQL
SELECT '12abcd567890' AS ISCORRECT,
F_STRSTUFF('1234567890', 3, 2, 'abcd') FROM RDB$DATABASE;
SELECT
NULL AS ISCORRECT, F_STRSTUFF(NULL, NULL, NULL, NULL) FROM
RDB$DATABASE;
SELECT '12äöü567890' AS ISCORRECT,
U_STRSTUFF('1234567890', 3, 2, 'äöü') FROM
RDB$DATABASE;
SELECT
NULL AS ISCORRECT, U_STRSTUFF(NULL, NULL, NULL, NULL) FROM
RDB$DATABASE; |
  |
F_COLLATEBR |
kompatibel
zu GrUDF |
Entrypoint
|
collatebr |
nicht UTF-8
kompatibel - wenn
benötigt
bitte nachfragen |
Input |
CSTRING(32760) |
String,
indem
die Sonderzeichen umgewandelt werden sollen |
Output |
CSTRING(32760) |
umgewandelter
String |
Wandelt
bestimmte „Umlaute“ zu einen
vorgegebenen Zeichen
á, â, ã, à, ä,
å, Á, Â, Ã, À,
Ä, Å
=> A
é, ê, è, ë, É,
Ê, È, Ë
=> E
í, î, ì, ï, Í,
Î, Ì, Ï
=> I
ó, ô, õ, ò, ö,
Ó, Ô, Õ, Ò, Ö
=> O
ú, û, ù, ü,Ú,
Û, Ù, Ü
=> U
ç, Ç
=> C
ñ, Ñ
=> N
ý, ÿ, Ý
=> Y
TestSQL
SELECT 'AAAAAAAAAAAA' AS ISCORRECT,
F_COLLATEBR('áâãàäåÁÂÃÀÄÅ')
FROM RDB$DATABASE;
SELECT 'EEEEEEEE' AS ISCORRECT,
F_COLLATEBR('éêèëÉÊÈË')
FROM
RDB$DATABASE;
SELECT 'IIIIIIII' AS ISCORRECT,
F_COLLATEBR('íîìïÍÎÌÏ')
FROM
RDB$DATABASE;
SELECT 'OOOOOOOOOO' AS ISCORRECT,
F_COLLATEBR('óôõòöÓÔÕÒÖ')
FROM
RDB$DATABASE;
SELECT 'UUUUUUUU' AS ISCORRECT,
F_COLLATEBR('úûùüÚÛÙÜ')
FROM
RDB$DATABASE;
SELECT 'CC' AS ISCORRECT, F_COLLATEBR('çÇ') FROM
RDB$DATABASE;
SELECT 'NN' AS ISCORRECT, F_COLLATEBR('ñÑ') FROM
RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_COLLATEBR(NULL) FROM RDB$DATABASE; |
  |
F_KEYUP |
Funktion
von
adhoc |
Entrypoint
|
keyup |
nicht UTF-8
kompatibel - wenn
benötigt
bitte nachfragen |
Input |
CSTRING(32760)
SMALLINT |
String
der aufbereitet
werden soll
Länge
des Output-Strings |
Output |
CSTRING(32760) |
umgewandelter
String |
Wandelt
einen String um
- alles nach Großbuchstaben
- nimmt
nur alphanumerische Zeichen incl. untenstehende Umlaut-Zeichen
-
wandelt untenstehende Umlaut-Zeichen zu "normal" Zeichen um
Á, Â,
Ã, À, Ä, Å
=> A
É, Ê,
È, Ë
=> E
Í, Î, Ì,
Ï
=> I
Ó, Ô, Õ,
Ò, Ö
=> O
Ú, Û, Ù,
Ü
=> U
Ç
=> C
Æ
=> AE
Ø
=> OE
ß
=> SS
Đ
=> D
Ñ
=> N
Ý
=> Y
- kürzt den String auf die angegebene
Länge
TestSQL
SELECT
'7A 5E 5I 6O 5U 2C 2AE 2OE 4S 2D 2N 2Y 1234567' AS ISCORRECT,
F_KEYUP('AáâãàäåEéêèëIíîìïOóôõòöUúûùüCçAEæOEøSSßDd.NñYý1234567890',
55)
FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_KEYUP(NULL,
NULL) FROM RDB$DATABASE; |
  |
F_PRED
|
Funktion
von adhoc
|
Entrypoint
|
predecessor |
nicht UTF-8 kompatibel -
benutze U_PRED |
U_PRED
|
Funktion
von adhoc
|
Entrypoint
|
u_predecessor |
UTF-8
kompatibel |
Input |
CSTRING(1)
INTEGER |
Zeichen,
zu
dem
ein Vorgänger gesucht werden soll
Anzahl der Zeichen im Zeichensatz, um das der Vorgänger von
Parameter 1
(rückwärts im Zeichensatz) abweichen soll |
Output |
CSTRING(1) |
n-Vorgänger des
Zeichens aus Parameter 1 |
Bei
Parameter 2 gleich 512 (oder einem
Vielfachen von 512) ist das Ergebnis gleich dem Input.
Test SQL
SELECT 'b' AS ISCORRECT, F_PRED('a', -1) FROM RDB$DATABASE;
SELECT 'a' AS ISCORRECT, F_PRED('b', 1) FROM RDB$DATABASE;
SELECT 'a' AS ISCORRECT, F_PRED('a', 512) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_PRED(NULL, NULL) FROM RDB$DATABASE;
SELECT '¢' AS ISCORRECT, U_PRED('£', 1) FROM
RDB$DATABASE;
SELECT '¡' AS ISCORRECT, U_PRED('£', 2) FROM
RDB$DATABASE;
SELECT 'あ' AS ISCORRECT, U_PRED('え', 6) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, U_PRED(NULL, NULL) FROM RDB$DATABASE;
|
  |
F_SUCC |
Funktion
von adhoc
|
Entrypoint
|
successor |
nicht UTF-8 kompatibel -
benutze U_SUCC |
U_SUCC |
Funktion
von adhoc
|
Entrypoint
|
u_successor |
UTF-8 kompatibel |
Input |
CSTRING(1)
INTEGER |
Zeichen,
zu
dem
ein Nachfolger gesucht werden soll
Anzahl der Zeichen im Zeichensatz, um das der Nachfolger von
Parameter
1 (fortlaufend im Zeichensatz) abweichen soll |
Output |
CSTRING(1) |
n-Nachfolger
des
Zeichens aus Parameter 1 |
Bei
Parameter 2 gleich 512 (oder einem
Vielfachen von 512) ist das Ergebnis gleich dem Input.
Test SQL
SELECT 'a' AS ISCORRECT, F_SUCC('b', -1) FROM RDB$DATABASE;
SELECT 'c' AS ISCORRECT, F_SUCC('b', 1) FROM RDB$DATABASE;
SELECT 'b' AS ISCORRECT, F_SUCC('b', 512) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, F_SUCC(NULL, NULL) FROM RDB$DATABASE;
SELECT '¤' AS ISCORRECT, U_SUCC('£', 1) FROM
RDB$DATABASE;
SELECT '×' AS ISCORRECT, U_SUCC('Ö', 1) FROM
RDB$DATABASE;
SELECT 'Γ' AS ISCORRECT, U_SUCC('Ώ', 4) FROM RDB$DATABASE;
SELECT 'ぎ' AS ISCORRECT, U_SUCC('え', 6) FROM RDB$DATABASE;
SELECT NULL AS ISCORRECT, U_SUCC(NULL, NULL) FROM RDB$DATABASE;
|
  |