ΠΡΠΈΠΌΠ΅Ρ
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ 200313:
SELECT WOY('26.03.2003')
FROM RDB$DATABASE;
Π‘ΡΡΠΎΠΊΠΎΠ²ΡΠ΅ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
IB_UDF
ASCII_CHAR(VALUE)
Linux, Win32
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΈΠΌΠ²ΠΎΠ» ASCII, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠΌΡ Π΅ΠΉ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ
VALUE ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠΎΠ»Π±ΡΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΎΠΉ ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΈΠΏΠ° SMALLINT ΠΈΠ»ΠΈ INTEGER
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
ΠΠ΄Π½ΠΎΠ±Π°ΠΉΡΠΎΠ²ΡΠΉ ΠΏΠ΅ΡΠ°ΡΠ½ΡΠΉ ΠΈΠ»ΠΈ Π½Π΅ΠΏΠ΅ΡΠ°ΡΠ½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ»
ΠΡΠΈΠΌΠ΅Ρ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π΄ΠΎΠ±Π°Π²ΠΈΡ Π² ΡΡΠΎΠ»Π±Π΅Ρ ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΡΡΠΎΠΊΠΈ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΊΠ°ΡΠ΅ΡΠΊΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΠ°Π±Π»ΠΈΡΡ:
UPDATE EXT_FILE
SET EOL = ASCII_CHAR(13) || ASCII_CHAR(10);
IB_UDF
ASCII_VAL(VALUE)
Linux, Win32
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ASCII, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠΌΡ Π΅ΠΉ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ
VALUE ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠΎΠ»Π±ΡΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΎΠΉ ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΈΠΏΠ° CHAR
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
Π¦Π΅Π»ΠΎΠ΅ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ASCII
ΠΡΠΈΠΌΠ΅Ρ
SELECT ASCII_VAL('&') AS ASC_NUM FROM RDB$DATABASE;
IB_UDF
LOWER(VALUE)
Linux, Win32
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²Ρ ΠΎΠ΄Π½ΡΡ ΡΡΡΠΎΠΊΡ Π² Π²ΠΈΠ΄Π΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅. Π Π°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ ASCII
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ
VALUE ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠΎΠ»Π±ΡΠΎΠΌ ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΡΡΡΠΎΠΊΠΈ ASCII Π΄Π»ΠΈΠ½ΠΎΠΉ 32 765 Π±Π°ΠΉΡ ΠΈΠ»ΠΈ ΠΌΠ΅Π½ΡΡΠ΅
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
CHAR(n) ΠΈΠ»ΠΈ VARCHAR(n) ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ°, ΡΡΠΎ ΠΈ Π²Ρ ΠΎΠ΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ°
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΡ
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π΄ΠΎ 32 767 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Firebird
ΠΡΠΈΠΌΠ΅Ρ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²Π΅ΡΠ½Π΅Ρ ΡΡΡΠΎΠΊΡ 'come and sit at my table':
SELECT LOWER('Come and sit at MY TABLE') AS L_STRING FROM RDB$DATABASE;
IB_UDF
LPAD(VALUE, LENGTH, IN_CHAR)
Linux, Win32
ΠΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» IN CHAR ΠΊ Π½Π°ΡΠ°Π»Ρ Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ VALUE Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π΄Π»ΠΈΠ½Π° ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΡΠ°Π²Π½ΠΎΠΉ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡ ΡΠΈΡΠ»Ρ LENGTH
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ
VALUE: ΡΡΠΎΠ»Π±Π΅Ρ ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΡΡΡΠΎΠΊΠΈ Π½Π΅ Π΄Π»ΠΈΠ½Π½Π΅Π΅, ΡΠ΅ΠΌ (32767 - LENGTH) Π±Π°ΠΉΡ.
LENGTH: ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΡΠ΅Π»ΠΎΠ³ΠΎ.
IN CHAR: ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΌΠ²ΠΎΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
CHAR(n) ΠΈΠ»ΠΈ VARCHAR(n), Π³Π΄Π΅ n ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° LENGTH
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΡ
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π΄ΠΎ 32 767 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Firebird
ΠΡΠΈΠΌΠ΅Ρ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²Π΅ΡΠ½Π΅Ρ ΡΡΡΠΎΠΊΡ ' ##########RHUBARB ':
SELECT LPAD('RHUBARB', 17, '#') AS LPADDED_STRING FROM RDB$DATABASE;
Π‘Π²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅ RPAD()
IB_UDF
LTRIM(VALUE)
Linux, Win32
Π£Π΄Π°Π»ΡΠ΅Ρ Π½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π΅Π»Ρ ΠΈΠ· Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ
VALUE - ΡΡΠΎΠ»Π±Π΅Ρ ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΡΡΡΠΎΠΊΠΈ Π΄Π»ΠΈΠ½ΠΎΠΉ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 32 767 Π±Π°ΠΉΡ
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
CHAR(N) ΠΈΠ»ΠΈ VARCHAR(n) Π±Π΅Π· Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ±Π΅Π»ΡΠ½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΡ
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ 32 765 Π±Π°ΠΉΡ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΡΠΎΠ±Π΅Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ΡΡΡΠΎΠΊ Firebird
ΠΡΠΈΠΌΠ΅Ρ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΡΡΠΈΠ³Π³Π΅ΡΠ° BEFORE INSERT Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»ΡΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π΅Π»Ρ ΠΈΠ· Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ:
NEW.CHARACTER_COLUMN =
LTRIM(NEW.CHARACTER_COLUMN) ;
Π‘Π²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅ RTRIM(), F_RTRIM(), F_LRTRIM()
FBUDF
SRIGHT(VALUE, LENGTH)
Linux, Win32
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΡ Π΄Π»Ρ VALUE, ΡΠ²Π»ΡΡΡΡΡΡΡ ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΡΡ ΡΡΡΠΎΠΊΠΈ VALUE Π΄Π»ΠΈΠ½ΠΎΠΉ LENGTH ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ
ΠΠ΅Ρ
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
VALUE: ΡΡΠΎΠ»Π±Π΅Ρ ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΡΡΡΠΎΠΊΠΈ Π΄Π»ΠΈΠ½ΠΎΠΉ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 32 767 Π±Π°ΠΉΡ.
LENGTH: ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΡΠ΅Π»ΠΎΠ³ΠΎ
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΡ
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ 32 765 Π±Π°ΠΉΡ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ΡΡΡΠΎΠΊ Firebird
ΠΡΠΈΠΌΠ΅Ρ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²Π΅ΡΠ½Π΅Ρ ΡΡΡΠΎΠΊΡ 'fox jumps over the lazy dog': SELECT SRIGHT('The quick brown fox jumps over the lazy dog.', 28)
AS R_STRING FROM RDB$DATABASE;
Π‘Π²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅ SUBSTRO , SUBSTRLEN(), Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ SUBSTRING()
IB_UDF
RPAD(VALUE, LENGTH, IN_CHAR)
Linux, Win32
ΠΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» IN_CHAR Π ΠΊΠΎΠ½ΡΡ Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ VALUE Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π΄Π»ΠΈΠ½Π° ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΡΠ°Π²Π½ΠΎΠΉ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡ ΡΠΈΡΠ»Ρ LENGTH
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ
VALUE: ΡΡΠΎΠ»Π±Π΅Ρ ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΡΡΡΠΎΠΊΠΈ Π½Π΅ Π΄Π»ΠΈΠ½Π½Π΅Π΅, ΡΠ΅ΠΌ (32765 - LENGTH) Π±Π°ΠΉΡ.
LENGTH: ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΡΠ΅Π»ΠΎΠ³ΠΎ.
IN CHAR ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΌΠ²ΠΎΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
CHAR(n) ΠΈΠ»ΠΈ VARCHAR(n), Π³Π΄Π΅ n ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° LENGTH
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΡ
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π΄ΠΎ 32 765 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Firebird
ΠΡΠΈΠΌΠ΅Ρ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²Π΅ΡΠ½Π΅Ρ ΡΡΡΠΎΠΊΡ ' Framboise***********':
SELECT RPAD ('Framboise', 20, ' * ' ) AS RPADDED_STRING
FROM RDB$DATABASE;
Π‘Π²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅ LPADO
IB_UDF
RTRIM(VALUE)
Linux, Win32
Π£Π΄Π°Π»ΡΠ΅Ρ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π΅Π»Ρ ΠΈΠ· Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ
VALUE- ΡΡΠΎΠ»Π±Π΅Ρ ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΡΡΡΠΎΠΊΠΈ Π΄Π»ΠΈΠ½ΠΎΠΉ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 32 765 Π±Π°ΠΉΡ
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
CHAR(n) ΠΈΠ»ΠΈ VARCHAR(n) Π±Π΅Π· ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΠΏΡΠΎΠ±Π΅Π»ΡΠ½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΡ
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ 32 765 Π±Π°ΠΉΡ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΡΠΎΠ±Π΅Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ΡΡΡΠΎΠΊ Firebird
ΠΡΠΈΠΌΠ΅Ρ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΡΡΠΈΠ³Π³Π΅ΡΠ° BEFORE INSERT Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»ΡΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π΅Π»Ρ ΠΈΠ· Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ:
. . .
NEW.CHARACTER_COLUMN = RTRIM (NEW.CHARACTER_COLUMN);
Π‘Π²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
ΡΠΌ. ΡΠ°ΠΊΠΆΠ΅ LTRIM(), F_LRTRIM()
IB_UDF
STRLEN(VALUE)
Linux, Win32
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄Π»ΠΈΠ½Ρ ΡΡΡΠΎΠΊΠΈ
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ
VALUE - ΡΡΠΎΠ»Π±Π΅Ρ ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΡΡΡΠΎΠΊΠΈ Π΄Π»ΠΈΠ½ΠΎΠΉ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 32 765 Π±Π°ΠΉΡ
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
Π¦Π΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, Π΄Π»ΠΈΠ½Π° (ΡΡΠ΅ΡΡΠΈΠΊ) ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΡΡΡΠΎΠΊΠ΅
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΡ
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ 32 765 Π±Π°ΠΉΡ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΡΠΎΠ±Π΅Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ΡΡΡΠΎΠΊ Firebird
ΠΡΠΈΠΌΠ΅Ρ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΌΠΎΠ΄ΡΠ»Ρ PSQL ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ Π΄Π»ΠΈΠ½Ρ ΡΡΠΎΠ»Π±ΡΠ° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ:
. . .
DECLARE VARIABLE LEN INTEGER;
. . .
SELECT COL1, COL2, COL3 FROM ATABLE
INTO :VI, :V2, :V3;
LEN = STRLEN(V3);
Π‘Π²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅ SUBSTRLEN()
IB_UDF
SUBSTR(VALUE, P0S1, P0S2)
Linux, Win32
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ, ΡΠΎΡΡΠΎΡΡΡΡ ΠΈΠ· ΠΏΠΎΠ·ΠΈΡΠΈΠΉ Ρ POSI ΠΏΠΎ POS2 Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ. ΠΡΠ»ΠΈ POS2 ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ Π΄Π»ΠΈΠ½Ρ ΡΡΡΠΎΠΊΠΈ, ΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π²Π΅ΡΠ½Π΅Ρ Π²ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ POSI Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΡΡΡΠΎΠΊΠΈ
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ
VALUE: ΡΡΠΎΠ»Π±Π΅Ρ ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΡΡΡΠΎΠΊΠΈ.
POSI, POS2: ΡΡΠΎΠ»Π±Π΅Ρ ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π»ΡΠΉ ΡΠΈΠΏ
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
Π‘ΡΡΠΎΠΊΠ°
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΡ
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ Π΄Π»Ρ InterBase, ΠΈΠΌΠ΅ΠΉΡΠ΅ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ ΡΡΠ° Π²Π΅ΡΡΠΈΡ SUBSTRO ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π² ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠΉ Borland Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ ib_udf ΡΡΠ½ΠΊΡΠΈΠΈ SUBSTRO, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ NULL, Π΅ΡΠ»ΠΈ POS2 Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ 32 765 Π±Π°ΠΉΡ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΡΠΎΠ±Π΅Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ΡΡΡΠΎΠΊ Firebird
ΠΡΠΈΠΌΠ΅Ρ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠ±ΠΈΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π° Ρ ΡΡΡΠΎΠΊΠΈ COLUMNB ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΡΡΡΠΎΠΊΡ, Π½Π°ΡΠΈΠ½Π°ΡΡΡΡΡΡ Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ 4 ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠ΅ΠΉ 100. ΠΡΠ»ΠΈ ΡΡΡΠΎΠΊΠ° Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ Π΄ΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ 100, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π±ΡΠ΄ΡΡ Π²ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΎΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ 4 Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΡΡΡΠΎΠΊΠΈ:
UPDATE ATABLE
SET COLUMNB = SUBSTR(COLUMNB, 4, 100) WHERE...
Π‘Π²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅ SUBSTRLEN(), RTRIM(), Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ SUBSTRING()
IB_UDF
SUBSTRLEN(VALUE, STARTPOS, LENGTH)
Linux, Win32
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ Π΄Π»ΠΈΠ½ΠΎΠΉ LENGTH, Π½Π°ΡΠΈΠ½Π°ΡΡΡΡΡΡ Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ STARTPOS. ΠΠ»ΠΈΠ½Π° ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π±ΡΠ΄Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ LENGTH, Π΅ΡΠ»ΠΈ Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΏΠ»ΡΡ Π΄Π»ΠΈΠ½Π° ΠΏΡΠ΅Π²ΡΡΠ°ΡΡ Π΄Π»ΠΈΠ½Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ
VALUE: ΡΡΠΎΠ»Π±Π΅Ρ ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΡΡΡΠΎΠΊΠΈ Π½Π΅ Π΄Π»ΠΈΠ½Π½Π΅Π΅ 32 765 Π±Π°ΠΉΡ.
STARTPOS: ΡΡΠΎΠ»Π±Π΅Ρ ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π»ΡΠΉ ΡΠΈΠΏ.
LENGTH: ΡΡΠΎΠ»Π±Π΅Ρ ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π»ΡΠΉ ΡΠΈΠΏ
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅