MINUTE
SMALLINT
0-59
ΠΠΎΠΏΡΡΡΠΈΠΌΠΎ
ΠΠ΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ
ΠΠΎΠΏΡΡΡΠΈΠΌΠΎ
SECOND
DECIMAL(6,4)
0-59.9999
ΠΠΎΠΏΡΡΡΠΈΠΌΠΎ
ΠΠ΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ
ΠΠΎΠΏΡΡΡΠΈΠΌΠΎ
WEEKDAY
SMALLINT
0-6*
ΠΠΎΠΏΡΡΡΠΈΠΌΠΎ
ΠΠΎΠΏΡΡΡΠΈΠΌΠΎ
ΠΠ΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ
YEARDAY
SMALLINT
1-366
ΠΠΎΠΏΡΡΡΠΈΠΌΠΎ
ΠΠΎΠΏΡΡΡΠΈΠΌΠΎ
ΠΠ΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ
* 0 = Π²ΠΎΡΠΊΡΠ΅ΡΠ΅Π½ΡΠ΅ ... 6 = ΡΡΠ±Π±ΠΎΡΠ°.
ΠΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ EXTRACT() Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ
ΠΠ°Π»Π΅Π΅ ΡΠ»Π΅Π΄ΡΡΡ Π΄Π²Π° ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ EXTRACT() Π²Π½ΡΡΡΠΈ CAST() Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ Π΄Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΉ.
Π₯ΠΎΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΡΠΌΡΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΡΠΎΠΊΡ Π΄Π°ΡΡ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π±Π΅Π· Π΄ΠΎΠ»Π΅ΠΉ ΡΠ΅ΠΊΡΠ½Π΄Ρ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΄Π΅Π»Π°Π½ΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π²ΠΊΠ»ΡΡΠ°ΡΡΠ΅Π³ΠΎ ΠΎΠ±Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ CAST() ΠΈ EXTRACT().
ΠΡΠ° ΡΠ΅Ρ Π½ΠΈΠΊΠ° Π±ΠΎΠ»ΡΡΠ΅ Π½ΡΠΆΠ½Π° Π² Π΄ΠΈΠ°Π»Π΅ΠΊΡΠ΅ 1, ΡΠ΅ΠΌ Π² Π΄ΠΈΠ°Π»Π΅ΠΊΡΠ΅ 3. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΊΡΡΡΠ°ΠΏΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π° Π½Π° Π»ΡΠ±ΠΎΠΉ ΡΠΈΠΏ Π΄Π°ΡΡ ΠΈΠ»ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄ΠΈΠ°Π»Π΅ΠΊΡΠ° 3, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π²ΡΠ΅ΠΌΡ Π΄Π½Ρ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊΠΈ.
Π€ΡΠ½ΠΊΡΠΈΡ EXTRACT() Π΄Π΅Π»Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΈΠΏΠΎΠ² Π΄Π°ΡΡ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΡ SMALLINT. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠΈΠ³Π³Π΅Ρ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈΠ· ΡΡΠΎΠ»Π±ΡΠ° Π΄ΠΈΠ°Π»Π΅ΠΊΡΠ° 1 DATE Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ CAPTURE_DATE ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΈΡ Π² CHAR (13), ΠΈΠΌΠΈΡΠΈΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π² Firebird Π»ΠΈΡΠ΅ΡΠ°Π» Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ 'HH:MM:ss.nnnn'.
SET TERM ^;
CREATE TRIGGER BI_ATABLE FOR ATABLE
ACTIVE BEFORE INSERT POSITION 1
AS
BEGIN
IF (NEW.CAPTURE_DATE IS NOT NULL) THEN
BEGIN
NEW. CAPTURE_TIME =
CAST(EXTRACT (HOUR FROM NEW.CAPTUEE_DATE) AS CHAR(2)) || ':' ||
CAST(EXTRACT (MINUTE FROM NEW.CAPTURE_DATE) ASCHAR(2)) || ':' ||
CAST(EXTRACT (SECOND FROM NEW.CAPTURE_DATE) AS CHAR(7));
END
END ^
SET TERM ; ^
Π‘ΡΡΠΎΠΊΠ° CHAR (13), ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌΠ°Ρ ΡΡΠΈΠ³Π³Π΅ΡΠΎΠΌ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠ³ΠΎ "ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ," ΡΡΠΎ ΡΠΈΠΏ TIME Π² Π΄ΠΈΠ°Π»Π΅ΠΊΡΠ΅ 3. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΏΡΠΈ ΠΏΡΠΎΡΡΠΎΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½Π° Π½Π°ΠΏΡΡΠΌΡΡ Π² ΡΠΈΠΏ TIME Π΄ΠΈΠ°Π»Π΅ΠΊΡΠ° 3 ΠΏΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Π΄ΠΎ Π΄ΠΈΠ°Π»Π΅ΠΊΡΠ° 3.
Π‘Π½Π°ΡΠ°Π»Π° ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π½ΠΎΠ²ΡΠΉ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ Π² ΡΠ°Π±Π»ΠΈΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ:
ALTER TABLE ATABLE
ADD TIME_CAPTURE TIME;
COMMIT;
ΠΠ°ΡΠ΅ΠΌ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ ΡΡΡΠΎΠΊΠΎΠΉ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π²ΡΠΏΠΎΠ»Π½ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Π΄ΠΈΠ°Π»Π΅ΠΊΡΠ΅ 1:
UPDATE ATABLE
SET TIME_CAPTURE = CAST (CAPTURE_TIME AS TIME)
WHERE CAPTURE_TIME IS NOT NULL;
COMMIT;
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ Π²Π΅ΡΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΄Π΅Π»Π°ΡΡ, - ΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π² Π½Π°ΡΠ΅ΠΌ ΡΡΠΈΠ³Π³Π΅ΡΠ΅ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΡΡΠΎΠΊΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄ΠΈΠ°Π»Π΅ΠΊΡΠ° 1. ΠΡΠΎ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΡΡΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΡΠ°ΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
SET TERM ^;
RECREATE TRIGGER BI_ATABLE FOR ATABLE
ACTIVE BEFORE INSERT POSITION 1
AS
BEGIN
/* Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ */
END ^
SET TERM ;^
COMMIT;
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΠ°ΡΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ CAPTURE_TIME:
ALTER TABLE ATABLE DROP CAPTURE_TIME;
COMMIT;
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΅Π³ΠΎ ΠΎΠΏΡΡΡ, Π½Π° ΡΡΠΎΡ ΡΠ°Π· ΠΊΠ°ΠΊ ΡΠΈΠΏ TIME:
ALTER TABLE ATABLE
ADD CAPTURE_TIME TIME;
COMMIT;
ΠΠ΅ΡΠ΅ΠΏΠΈΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ ΠΈΠ· Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠΎΠ»Π±ΡΠ° Π² ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ
CAPTURE_TIME:
UPDATE ATABLE
SET CAPTURE_TIME = TIME_CAPTURE
WHERE TIME_CAPTURE IS NOT NULL;
COMMIT;
Π£Π΄Π°Π»ΠΈΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ:
ALTER TABLE ATABLE DROP TIME_CAPTURE;
COMMIT;
ΠΠΎΠ΄ ΠΊΠΎΠ½Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΡΡΠΈΠ³Π³Π΅Ρ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½ ΡΠ΅ΠΏΠ΅ΡΡ Π·Π°ΠΏΠΈΡΡΠ²Π°Π» Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ CAPTURE_TIME ΠΊΠ°ΠΊ ΡΠΈΠΏ TIME:
SET TERM ^;
RECREATE TRIGGER BI_ATABLE FOR ATABLE
ACTIVE BEFORE INSERT POSITION 1
AS
BEGIN
IF (NEW.CAPTURE_DATE IS NOT NULL) THEN
BEGIN
NEW.CAPTURE_TIME = CAST (NEW.CAPTURE.DATE AS TIME);
END
END ^
SET TERM ;^
COMMIT;
ΠΡΠ΅ ΡΡΠΈ ΡΠ°Π³ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°ΠΏΠΈΡΠ°Π½Ρ Π² ΡΠΊΡΠΈΠΏΡΠ΅ SQL. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² SQL ΡΠΌ. Π² ΡΠ°Π·Π΄. "Π‘ΠΊΡΠΈΠΏΡΡ ΡΡ Π΅ΠΌΡ" Π³Π»Π°Π²Ρ 14.
ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ EXTRACT()
Π€ΡΠ½ΠΊΡΠΈΡ EXTRACT() Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, Π΅ΡΠ»ΠΈ ΠΎΠ½Π° ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΏΡΡΡΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ. ΠΡΠΎΡ ΡΠ°ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΏΡΠΎΡΡΡΡ Π·Π°ΠΏΡΠΎΡΠ°Ρ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ NOT NULL ΠΈΠ»ΠΈ Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΡ ΠΏΠΎΠ΄Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΏΡΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎΠ»Π΅ΠΉ ΡΠΈΠΏΠ° Π΄Π°ΡΠ°/Π²ΡΠ΅ΠΌΡ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π²ΠΎ Π²Π½Π΅ΡΠ½ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡΡ ΡΡΠΎ Π½Π΅ ΡΡΠΎΠ»Ρ ΠΏΡΠΎΡΡΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΠΎΡΠΎΠΊΠΈ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ NULL Π² Π½Π΅Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΠΏΠΎΠ»ΡΡ .
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄Π·Π°ΠΏΡΠΎΡ (ΡΠΌ. Π³Π»Π°Π²Ρ 21 ΠΈ 22), ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅Ρ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π½Π΅Π½ΡΠ»Π΅Π²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΡ . Π Π΄ΠΈΠ°Π»Π΅ΠΊΡΠ΅ 3 Π΅ΡΡΡ Π΄ΡΡΠ³ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅: ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ CASE (ΡΠΌ. Π³Π»Π°Π²Ρ 21) Π΄Π»Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ·ΠΎΠ²Π° EXTRACT() ΠΏΡΠΈ Π½ΡΠ»Π΅Π²ΡΡ Π΄Π°ΡΠ°Ρ .
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ Π³Π»Π°Π²Π° ΠΎΡ Π²Π°ΡΡΠ²Π°Π΅Ρ Π±ΠΎΠ»ΡΡΡΡ ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ (ΡΡΡΠΎΠΊΠΎΠ²ΡΡ ) ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ Π² Firebird, Π²ΠΊΠ»ΡΡΠ°Ρ Π²Π°ΠΆΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΠ½ΡΠ΅ΡΠ½Π°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ Π½Π°Π±ΠΎΡΠ°ΠΌΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠΌ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π΄Π»Ρ Π±Π°Π· Π΄Π°Π½Π½ΡΡ ΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ².
ΠΠΠΠΠ 11. Π‘ΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ .
Firebird ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ (ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅) ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ. ΠΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π΄Π»Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² Π»ΡΠ±ΠΎΠΌ Π½Π°Π±ΠΎΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌΠΎΠΌ ΠΈΠ· Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ°. Π‘ΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΈΠΏΡ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠ΅Π²ΡΡΠ°ΡΡ 32 767 Π±Π°ΠΉΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ; Π΄Π»Ρ ΡΠΈΠΏΠΎΠ² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ ΡΡΠΎΡ ΠΏΡΠ΅Π΄Π΅Π» ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΡΡΡ Π½Π° Π΄Π²Π° Π±Π°ΠΉΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠΈ ΡΡΡΠΎΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΡΠ΅ΡΡΠΈΠΊ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
Firebird Ρ ΡΠ°Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ ΠΎΡΠ΅Π½Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΎΡΡΠΎΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠΆΠ°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ , Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΡΠΎ ΡΠΈΠΏ CHAR ΠΈΠ»ΠΈ NCHAR. Π ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ, ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈΡΠΈΠ½ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»ΠΈΠ½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ - ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ»ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΈΠ½Π΄Π΅ΠΊΡΠ°, Π° Π΄Π»Ρ Firebird 1.0.x Π΅ΡΠ΅ ΠΈ Π΄Π΅ΠΊΠΎΠΌΠΏΡΠ΅ΡΡΠΈΡ ΡΡΡΠΎΠΊ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ Π² ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΡ Π΄Π»ΠΈΠ½Ρ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΠΎΠΊΠΈΠ½ΡΡ ΡΠ΅ΡΠ²Π΅Ρ.
ΠΡΠ½ΠΎΠ²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠΎΠΊ
ΠΡΡΠΈΠ±ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² CHARACTER SET Π²Π°ΠΆΠ΅Π½ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΡΠΎΠ»Π±ΡΠ°. ΠΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ Π½Π°Π±ΠΎΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±Π°ΠΉΡΠΎΠ² Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°- ΠΎΠ±ΡΡΠ½ΠΎ Π΄Π²Π° ΠΈΠ»ΠΈ ΡΡΠΈ Π² Firebird. ΠΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ°ΠΊΠΈΠ΅ Π½Π°Π±ΠΎΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΡΡΡ Π² Π΄Π²Π° ΠΈΠ»ΠΈ ΡΡΠΈ ΡΠ°Π·Π°.
! ! !
ΠΠ ΠΠΠΠ§ΠΠΠΠ. ΠΡΡΠΈΠ±ΡΡ CHARACTER SET Π² ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ. ΠΡΠ»ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π½Π°Π±ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΡΠΎΠ»Π±ΡΠ°, ΡΠΎ Π°ΡΡΠΈΠ±ΡΡ CHARACTER SET ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π°Π±ΠΎΡΠ° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π°Π±ΠΎΡΠ° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π΄Π»Ρ ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΏΠΎΠ·ΠΆΠ΅ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅.
. ! .
ΠΠΎΠΏΡΡΠΊΠ° ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π² ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ Firebird ΡΡΡΠΎΠΊΠΈ Ρ Π΄Π»ΠΈΠ½ΠΎΠΉ, ΠΏΡΠ΅Π²ΡΡΠ°ΡΡΠ΅ΠΉ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΡ, Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»Ρ ΡΡΡΠΎΠΊΠΈ
ΠΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»Π΅ΠΌ ΡΡΡΠΎΠΊ Π² Firebird ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ» ASCII 39, ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½Π°Ρ ΠΊΠ°Π²ΡΡΠΊΠ°, ΠΈΠ»ΠΈ Π°ΠΏΠΎΡΡΡΠΎΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
StringVar = 'This is a string.';
ΠΠ²ΠΎΠΉΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ Π²ΠΎΠ²ΡΠ΅ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½Ρ Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΡΡΠΎΠΊ. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΡΡΠΎ, Π΅ΡΠ»ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡ Ρ ΠΠ Firebird, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π΄Π»Ρ Π±Π°Π· Π΄Π°Π½Π½ΡΡ InterBase 5, Π³Π΄Π΅ ΡΠ°Π·ΡΠ΅ΡΠ°Π»ΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°Π²ΡΡΠΊΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»Ρ ΡΡΡΠΎΠΊ. Π‘ΡΡΠΎΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Ρ ΡΠ°ΠΊΠΆΠ΅ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Ρ ΡΠ°Π½ΠΈΠΌΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΠΈ ΡΡΠΈΠ³Π³Π΅ΡΠΎΠ² Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ InterBase 5, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ Π΄Π»Ρ Firebird.
ΠΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΡ
Firebird ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π² SQL ΡΠΈΠΌΠ²ΠΎΠ» Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΠΈ (ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ) ΡΡΡΠΎΠΊ: Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ASCII Ρ ΠΊΠΎΠ΄ΠΎΠΌ 124, ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΉΠ½Π°Ρ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½Π°Ρ ΡΠ΅ΡΡΠ° (||). ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΠΈ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ, ΡΡΡΠΎΠΊΠΎΠ²ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ/ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΡΠΎΠ»Π±ΡΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
MyBiggerString = 'You are my sunshine, ' || FirstName || ' my only sunshine.';
Π‘ΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ Ρ ΡΠΈΡΠ»Π°ΠΌΠΈ ΠΈ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π°Π»ΡΠ°Π²ΠΈΡΠ½ΠΎ-ΡΠΈΡΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π° '#' Ρ ΡΠ΅Π»ΡΠΌ:
NEW.TICKET_NOMBER = '#' || NEW.PK_INTEGER;
! ! !
ΠΠΠΠΠΠΠΠ! He ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΠΈ, Π³Π΄Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ NULL. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ NULL, Π±ΡΠ΄Π΅Ρ NULL.
. ! .
Π£ΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Firebird Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π΅ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΠΌΡΡ ΠΊΠΎΠ΄ΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ Π² ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅ ΠΏΠΎΠ»Ρ. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ "Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅" ΡΠΈΠΌΠ²ΠΎΠ»Π° Π°ΠΏΠΎΡΡΡΠΎΡΠ° (ASCII 39) Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΅Π³ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Ρ ΡΠ°Π½ΠΈΠΌΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΠ°ΠΊ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»Ρ ΡΡΡΠΎΠΊΠΈ:
. . .
SET HOSTELRY = 'Π''Flaherty''s Pub'
. . .
Π ΡΡΡΠΎΠΊΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ Π½Π΅ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ. ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° ΡΡΠ½ΠΊΡΠΈΡ UDF Asciichar (ascii_Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅) Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ ib udf, ΡΡΠΎΠ±Ρ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π² ΡΡΡΠΎΠΊΠΈ ΡΠ°ΠΊΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΈΠ»ΠΈ ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΠΏΠΎΠ»Π΅ΠΉ - Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΠ°ΠΉΠ» - Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΊΠ°ΡΠ΅ΡΠΊΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΡΡΠΎΠΊΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΏΠΎΠ»Π΅:
INSERT INTO EXTFILE(DATA1, DATA1, DATA3, CRLF)
VALUES ('String1', 'String2', 'String3', Ascii_Char(13) || Ascii_Char(10));
ΠΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ Asciichar (..) ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ ib udf ΡΠΌΠΎΡΡΠΈΡΠ΅ Π² ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ../UDF Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΠΈ Firebird ΡΠΊΡΠΈΠΏΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ib udf.sql. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΎ Π²Π½Π΅ΡΠ½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΡΡ ΡΠΌ. Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ 1.
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ²
ΠΠ°ΠΆΠ½ΠΎ Π±ΡΡΡ Π² ΠΊΡΡΡΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡΠΎΠ²ΡΠ΅ Π½Π°Π±ΠΎΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π²Π»ΠΈΡΡΡ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΈΠΌΠ΅ΡΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π½Π°Π±ΠΎΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² UNICODE FSS Π΄Π°ΠΆΠ΅ 256-ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ - ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ 770 Π±Π°ΠΉΡ- ΠΊΠ°ΠΊ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ°. ΠΠ°Π»ΡΡΠ΅ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅ Π±ΡΠ΄Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ ΠΎΠ± ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΎΡΠ²ΠΈΡΡ, ΡΠ΅ΡΠ°Ρ Π²ΠΎΠΏΡΠΎΡ ΠΎ Ρ ΡΠ°Π½Π΅Π½ΠΈΠΈ ΡΠ΅ΠΊΡΡΠΎΠ² Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡΠΎΠ²ΡΡ Π½Π°Π±ΠΎΡΠΎΠ² ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².