Π‘Π²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅ F_BLOBMID(), F_BLOBRIGHT()
FREEUDFLIB
F_BLOBLINE(VALUE, N)
Win32
ΠΠΎΠ»ΡΡΠ°Π΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΏΠΎΠ»Π΅ BLOB (ΡΡΠΎΠ»Π±Π΅Ρ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ) ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ Π·Π° Π½ΠΎΠΌΠ΅ΡΠΎΠΌ N
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ
VALUE: ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΠΎΠ»Π±ΡΠ° ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ BLOB.
N: Π½ΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ BLOB. ΠΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΡΡΡΠΎΠΊΠ° Π½ΠΎΠΌΠ΅Ρ 1
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
ΠΠ°Π²Π΅ΡΡΠ°Π΅ΠΌΠ°Ρ Π½ΡΠ»Π΅ΠΌ ΡΡΡΠΎΠΊΠ°
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΡ
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ΅Ρ BLOB, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΡΡΠΎΠΊΠΈ, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ CRLF (Π²ΠΎΠ·Π²ΡΠ°Ρ ΠΊΠ°ΡΠ΅ΡΠΊΠΈ, ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΡΠΎΠΊΠΈ). ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΅Π΅, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ ΡΡΡΠΎΠΊΠΈ Π½Π΅ ΠΏΡΠ΅Π²ΡΡΠ°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π΄Π»ΠΈΠ½Ρ Π΄Π»Ρ ΡΠΈΠΏΠ° VARCHAR (32 765 Π±Π°ΠΉΡ). Π£ΡΠΈΡΡΠ²Π°ΠΉΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π² Π±Π°ΠΉΡΠ°Ρ Π² BLOB, Ρ ΡΠ°Π½ΡΡΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡΠΎΠ²ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ
ΠΡΠΈΠΌΠ΅Ρ
SELECT F_BLOBLINE(BLOB_MEMO, 20) AS MEMO_LINE20
FROM MEMBERSHIP WHERE MEMBER ID - ....;
Π‘Π²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅ F_BLOBMID(), F_BLOBRIGHT()
FREEUDFLIB
F_BLOBMID(VALUE, STARTPOS, N)
Win32
ΠΠΎΠ»ΡΡΠ°Π΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΏΠΎΠ»Π΅ BLOB (ΡΡΠΎΠ»Π±Π΅Ρ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ) ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ N ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ STARTPOS
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ
VALUE: ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΠΎΠ»Π±ΡΠ° ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ BLOB.
STARTPOS: ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π² Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠΉ ΡΡΡΠΎΠΊΠ΅.
N: ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡΠ΅Π²ΡΡΠ°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ Π΄Π»Ρ VARCHAR (32 765 Π±Π°ΠΉΡ)
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
ΠΠ°Π²Π΅ΡΡΠ°Π΅ΠΌΠ°Ρ Π½ΡΠ»Π΅ΠΌ ΡΡΡΠΎΠΊΠ° Π΄Π»ΠΈΠ½ΠΎΠΉ N ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΡ
Π£ΡΠΈΡΡΠ²Π°ΠΉΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π² Π±Π°ΠΉΡΠ°Ρ Π² BLOB, Ρ ΡΠ°Π½ΡΡΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡΠΎΠ²ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ
ΠΡΠΈΠΌΠ΅Ρ
SELECT F_BLOBMID(BLOB_MEMO, 140, 20) AS
MEMO_SUBSTRING FROM MEMBERSHIP
WHERE MEMBER_ID = . . .;
Π‘Π²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅ F_BLOBRIGHT(), F_BLOBLEFT()
FREEUDFLIB
F_BLOBRIGHT(VALUE, N)
Win32
ΠΠΎΠ»ΡΡΠ°Π΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΏΠΎΠ»Π΅ BLOB (ΡΡΠΎΠ»Π±Π΅Ρ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ) ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ N ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ
VALUE: ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΠΎΠ»Π±ΡΠ° ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ BLOB.
N: ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡΠ΅Π²ΡΡΠ°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ Π΄Π»Ρ VARCHAR (32 765 Π±Π°ΠΉΡ)
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
ΠΠ°Π²Π΅ΡΡΠ°Π΅ΠΌΠ°Ρ Π½ΡΠ»Π΅ΠΌ ΡΡΡΠΎΠΊΠ° Π΄Π»ΠΈΠ½ΠΎΠΉ N ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΡ
Π£ΡΠΈΡΡΠ²Π°ΠΉΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π² Π±Π°ΠΉΡΠ°Ρ Π² BLOB, Ρ ΡΠ°Π½ΡΡΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡΠΎΠ²ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ
ΠΡΠΈΠΌΠ΅Ρ
SELECT F_BLOBRIGHT(BLOB_MEMO, 20) AS MEMO_END
FROM MEMBERSHIP
WHERE MEMBER_ID = ;
Π‘Π²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅ F BLOBMIDO, F BLOBLEFTO
FREEUDFLIB
F_BLOBBINCMP(VALUE1, VALUE2)
Win32
ΠΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π΄Π²ΡΡ ΠΏΠΎΠ»Π΅ΠΉ BLOB (ΡΡΠΎΠ»Π±ΡΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅) ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠ΅Π΅, ΡΠ²Π»ΡΡΡΡΡ Π»ΠΈ ΠΎΠ½ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ
VALOE1 ΠΈ VALUE2 ΡΠ²Π»ΡΡΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌΠΈ Π΄Π²ΡΡ ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ BLOB, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
1 (ΠΈΡΡΠΈΠ½Π°), Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ, ΠΈ 0 Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅
Π’ΡΠΈΠ³ΠΎΠ½ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
IB_UDF
ACOS(VALUE)
Linux, Win32
ΠΡΡΠΈΡΠ»ΡΠ΅Ρ Π°ΡΠΊΠΊΠΎΡΠΈΠ½ΡΡ Π΄Π»Ρ ΡΠΈΡΠ»Π° ΠΌΠ΅ΠΆΠ΄Ρ -1 ΠΈ 1. ΠΡΠ»ΠΈ ΡΠΈΡΠ»ΠΎ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΡΡΠΈ Π³ΡΠ°Π½ΠΈΡΡ, ΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ NaN
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ
VALUE: ΡΡΠΎΠ»Π±Π΅Ρ ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠ΅ ΡΠΎ Π·Π½Π°ΠΊΠΎΠ²ΡΠΌ ΠΈΠ»ΠΈ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ DOUBLE PRECISION, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΡΠΈΠ½ΡΡΠ°
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
Π§ΠΈΡΠ»ΠΎ DOUBLE PRECISION Π² Π³ΡΠ°Π΄ΡΡΠ°Ρ
ΠΡΠΈΠΌΠ΅Ρ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΡΡΠΈΠ³Π³Π΅ΡΠ° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΈΠ½ΡΡΠ° Π² Π³ΡΠ°Π΄ΡΡΡ:
. . .
IF (NEW.RAW_VALUE IS NOT NULL)
THEN NEW.READING1 = ACOS(NEW.RAW_VALUE);Π‘Π²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Π‘ΠΌ, ΡΠ°ΠΊΠΆΠ΅ COS(), COSH() ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠΈΠ³ΠΎΠ½ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
IB_UDF
ASIN(VALUE)
Linux, Win32
ΠΡΡΠΈΡΠ»ΡΠ΅Ρ Π°ΡΠΊΡΠΈΠ½ΡΡ Π΄Π»Ρ ΡΠΈΡΠ»Π° ΠΌΠ΅ΠΆΠ΄Ρ -1 ΠΈ 1. ΠΡΠ»ΠΈ ΡΠΈΡΠ»ΠΎ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΡΡΠΎΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, ΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ NaN
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ
VALUE: ΡΡΠΎΠ»Π±Π΅Ρ ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠ΅ ΡΠΎ Π·Π½Π°ΠΊΠΎΠ²ΡΠΌ ΠΈΠ»ΠΈ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ DOUBLE PRECISION, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΈΠ½ΡΡΠ°
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
Π§ΠΈΡΠ»ΠΎ DOUBLE PRECISION Π² Π³ΡΠ°Π΄ΡΡΠ°Ρ
ΠΡΠΈΠΌΠ΅Ρ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΡΡΠΈΠ³Π³Π΅ΡΠ° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠ½ΡΡΠ° Π² Π³ΡΠ°Π΄ΡΡΡ:
. . .
IF (NEW.RAW_VALUE IS NOT NULL) THEN NEW.READING1 = ACOS(NEW.RAW VALUE);
Π‘Π²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅ SIN(), SINH() ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠΈΠ³ΠΎΠ½ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
IB_UDF
ATAH(VALUE)
Linux, Win32
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π°ΡΠΊΡΠ°Π½Π³Π΅Π½Ρ Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ
VALUE: ΡΡΠΎΠ»Π±Π΅Ρ ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠ΅ ΡΠΎ Π·Π½Π°ΠΊΠΎΠ²ΡΠΌ ΠΈΠ»ΠΈ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ DOUBLE PRECISION, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°Π½Π³Π΅Π½ΡΠ°
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
Π§ΠΈΡΠ»ΠΎ DOUBLE PRECISION Π² Π³ΡΠ°Π΄ΡΡΠ°Ρ
ΠΡΠΈΠΌΠ΅Ρ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΡΡΠΈΠ³Π³Π΅ΡΠ° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π½Π³Π΅Π½ΡΠ° Π² Π°ΡΠΊΡΠ°Π½Π³Π΅Π½Ρ (Π² Π³ΡΠ°Π΄ΡΡΠ°Ρ ):
IF (NEW.RAW_VALUE IS NOT NOLL) THEN NEW.READINGL = ATAN(NEW.RAW_VALUE);
Π‘Π²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅ ATAN2(). TAN() , TANH() ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠΈΠ³ΠΎΠ½ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
IB_UDF
ATAH2(VALUE1, VALUE2)
Linux, Win32
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠ²Π»ΡΡΡΠ΅Π΅ΡΡ Π°ΡΠΊΡΠ°Π½Π³Π΅Π½ΡΠΎΠΌ Π² Π³ΡΠ°Π΄ΡΡΠ°Ρ , Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌΠΎΠ΅ ΠΊΠ°ΠΊ Π°ΡΠΊΡΠ°Π½Π³Π΅Π½Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°Π½Π³Π΅Π½ΡΠ° Π½Π° Π΄ΡΡΠ³ΠΎΠΉ
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ
VALUE 1 ΠΈ VALUE2 ΡΠ²Π»ΡΡΡΡΡ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌΠΈ ΡΡΠΎΠ»Π±ΡΠ°ΠΌΠΈ ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ, Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌΡΠΌΠΈ Π² ΡΠΈΡΠ»ΠΎ DOUBLE PRECISION, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°Π½Π³Π΅Π½ΡΠ°
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
Π§ΠΈΡΠ»ΠΎ DOUBLE PRECISION, ΡΠ²Π»ΡΡΡΠ΅Π΅ΡΡ Π°ΡΠΊΡΠ°Π½Π³Π΅Π½ΡΠΎΠΌ VALUE1 / VALUE2 Π Π³ΡΠ°Π΄ΡΡΠ°Ρ
ΠΡΠΈΠΌΠ΅Ρ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΌΠΎΠ΄ΡΠ»Ρ PSQL ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ³Π»ΠΎΠΌ Π² Π³ΡΠ°Π΄ΡΡΠ°Ρ , ΠΊΠ°ΠΊ Π°ΡΠΊΡΠ°Π½Π³Π΅Π½Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°Π½Π³Π΅Π½ΡΠ° Π½Π° Π΄ΡΡΠ³ΠΎΠΉ:
UPDATE HEAVENLY_HAPPENINGS
SET INCREASE_RATIO = ATAN2 (INITIAL TAN, FINAL TAN) WHERE HAPPENING_ID = :happening_id;
Π‘Π²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅ ATAN(), TAN(), TANH()
IB_UDF
COS(VALUE)
Linux, Win32
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΡΠΈΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ VALUE
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ
VALUE: ΡΡΠΎΠ»Π±Π΅Ρ ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠ΅ ΡΠΎ Π·Π½Π°ΠΊΠΎΠ²ΡΠΌ ΠΈΠ»ΠΈ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ DOUBLE PRECISION, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌΡΠΌ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ (Π² Π³ΡΠ°Π΄ΡΡΠ°Ρ ) ΠΎΡ -263 Π΄ΠΎ 263
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
Π§ΠΈΡΠ»ΠΎ DOUBLE PRECISION ΠΈΠ»ΠΈ 0, Π΅ΡΠ»ΠΈ Π²Ρ ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° Π³ΡΠ°Π½ΠΈΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΡ
ΠΡΠ»ΠΈ VALUE Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ 263 Π»ΠΈΠ±ΠΎ ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ -263, ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΏΠΎΡΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π° ΡΡΠ½ΠΊΡΠΈΡ ΡΠ³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΎΡΠΈΠ±ΠΊΡ a TLOSS ΠΈ Π²Π΅ΡΠ½Π΅Ρ 0
ΠΡΠΈΠΌΠ΅Ρ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΡΡΠΈΠ³Π³Π΅ΡΠ° Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΠΊΠΎΡΠΈΠ½ΡΡ ΡΠ³Π»Π° Π² Π³ΡΠ°Π΄ΡΡΠ°Ρ :
IF (NEW.READINGl IS NOT NULL) THEN NEW.RDG_COSINE = COS(NEW.READINGl);
Π‘Π²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅ SIN(), cos(), ACOS(), COSH()
IB_UDF
COSH(VALUE)
Linux, Win32
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π³ΠΈΠΏΠ΅ΡΠ±ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΡΠΈΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ VALUE
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ
VALUE: ΡΡΠΎΠ»Π±Π΅Ρ ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠ΅ ΡΠΎ Π·Π½Π°ΠΊΠΎΠ²ΡΠΌ ΠΈΠ»ΠΈ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ DOUBLE PRECISION, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌΡΠΌ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ (Π² Π³ΡΠ°Π΄ΡΡΠ°Ρ ) ΠΎΡ -263 Π΄ΠΎ 263
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
Π§ΠΈΡΠ»ΠΎ DOUBLE PRECISION ΠΈΠ»ΠΈ 0, Π΅ΡΠ»ΠΈ Π²Ρ ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° Π³ΡΠ°Π½ΠΈΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΡ
ΠΡΠ»ΠΈ VALUE Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ 263 Π»ΠΈΠ±ΠΎ ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ -263, ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΏΠΎΡΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π° ΡΡΠ½ΠΊΡΠΈΡ ΡΠ³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΎΡΠΈΠ±ΠΊΡ a_TLOSS ΠΈ Π²Π΅ΡΠ½Π΅Ρ 0
ΠΡΠΈΠΌΠ΅Ρ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΡΡΠΈΠ³Π³Π΅ΡΠ° Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΠΊΠΎΡΠΈΠ½ΡΡ ΡΠ³Π»Π° Π² Π³ΡΠ°Π΄ΡΡΠ°Ρ :
IF (NEW.READING1 IS NOT NULL) THEN NEW.RDG_COS_HYP = COSH(NEW. READING1) ;
Π‘Π²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅ SINH(), TANH() ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠΈΠ³ΠΎΠ½ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
IB_UDF
COT(VALUE)
Linux, Win32
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΡΠ°Π½Π³Π΅Π½Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ VALUE
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ
VALUE: ΡΡΠΎΠ»Π±Π΅Ρ ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠ΅ ΡΠΎ Π·Π½Π°ΠΊΠΎΠ²ΡΠΌ ΠΈΠ»ΠΈ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ DOUBLE PRECISION, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌΡΠΌ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ (Π² Π³ΡΠ°Π΄ΡΡΠ°Ρ ) ΠΎΡ -263 Π΄ΠΎ 263
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
Π§ΠΈΡΠ»ΠΎ DOUBLE PRECISION ΠΈΠ»ΠΈ 0, Π΅ΡΠ»ΠΈ Π²Ρ ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° Π³ΡΠ°Π½ΠΈΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΡ
ΠΡΠ»ΠΈ VALUE Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ 263 Π»ΠΈΠ±ΠΎ ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ -263, ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΏΠΎΡΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π° ΡΡΠ½ΠΊΡΠΈΡ ΡΠ³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΎΡΠΈΠ±ΠΊΡ a_TLOSS ΠΈ Π²Π΅ΡΠ½Π΅Ρ 0
ΠΡΠΈΠΌΠ΅Ρ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΡΡΠΈΠ³Π³Π΅ΡΠ° Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΠΊΠΎΡΠ°Π½Π³Π΅Π½Ρ ΡΠ³Π»Π° Π² Π³ΡΠ°Π΄ΡΡΠ°Ρ :
IF (NEW.READINGl IS NOT NULL) THEN NEW.RDG_COTAN = COT(NEW.READINGl);
Π‘Π²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅ TAN(), ATAN(), TANH()
IB_UDF
SIN(VALUE)
Linux, Win32
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΈΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ VALUE
ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ
VALUE: ΡΡΠΎΠ»Π±Π΅Ρ ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠ΅ ΡΠΎ Π·Π½Π°ΠΊΠΎΠ²ΡΠΌ ΠΈΠ»ΠΈ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ DOUBLE PRECISION, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌΡΠΌ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ (Π² Π³ΡΠ°Π΄ΡΡΠ°Ρ ) ΠΎΡ -263 Π΄ΠΎ 263
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅