數值函數
下表描述 ODBC 純量函數集中包含的數值函式。 藉由呼叫資訊類型為 SQL_NUMERIC_FUNCTIONS 的 SQLGetInfo,應用程式可以判斷驅動程式支援哪些數值函式。
除了 ABS、ROUND、TRUNCATE、SIGN、FLOOR 和 CEILING 以外,所有數值函式都會傳回數據類型的值SQL_FLOAT,這些值會傳回與輸入參數相同的數據類型值。
表示為 numeric_exp 的自變數可以是數據行的名稱、另一個純量函式的結果,或是 數值常值,其中基礎數據類型可以表示為SQL_NUMERIC、SQL_DECIMAL、SQL_TINYINT、SQL_SMALLINT、SQL_INTEGER、SQL_BIGINT、SQL_FLOAT、SQL_REAL或SQL_DOUBLE。
以float_exp表示的自變數可以是數據行的名稱、另一個純量函式的結果或數值常值,其中基礎數據類型可以表示為SQL_FLOAT。
以integer_exp表示的自變數可以是數據行的名稱、另一個純量函式的結果或數值常值,其中基礎數據類型可以表示為SQL_TINYINT、SQL_SMALLINT、SQL_INTEGER或SQL_BIGINT。
ODBC 3.0 已新增CURRENT_DATE、CURRENT_TIME和CURRENT_TIMESTAMP純量函式,以配合 SQL-92。
函式 | 描述 |
---|---|
ABS(numeric_exp) (ODBC 1.0) | 傳回numeric_exp的絕對值。 |
ACOS(float_exp) (ODBC 1.0) | 傳回float_exp的反餘弦值,以弧度表示。 |
ASIN(float_exp) (ODBC 1.0) | 以弧度表示,傳回float_exp的反正弦值,以弧度表示。 |
ATAN(float_exp) (ODBC 1.0) | 以弧度表示, 傳回float_exp 的反正切值,以弧度表示。 |
ATAN2(float_exp1,float_exp2) (ODBC 2.0) | 傳回 x 和 y 座標的反正切值,由float_exp1和float_exp2分別以弧度表示的角度。 |
CEILING(numeric_exp) (ODBC 1.0) | 傳回大於或等於 numeric_exp的最小整數。 傳回值與輸入參數的數據類型相同。 |
COS(float_exp) (ODBC 1.0) | 傳回float_exp的餘弦值,其中float_exp是以弧度表示的角度。 |
科特(float_exp) (ODBC 1.0) | 傳回float_exp的餘切值,其中float_exp是以弧度表示的角度。 |
DEGREES(numeric_exp) (ODBC 2.0) | 傳回從 numeric_exp 弧度轉換的度數。 |
EXP(float_exp) (ODBC 1.0) | 傳回float_exp的指數值。 |
地板(numeric_exp) (ODBC 1.0) | 傳回小於或等於 numeric_exp的最大整數。 傳回值與輸入參數的數據類型相同。 |
LOG(float_exp) (ODBC 1.0) | 傳回float_exp的自然對數。 |
LOG10(float_exp) (ODBC 2.0) | 傳回float_exp的基底 10 對數。 |
MOD(integer_exp1,integer_exp2) (ODBC 1.0) | 傳回除以integer_exp2之integer_exp1的餘數(模數)。 |
PI( ) (ODBC 1.0) | 傳回 pi 的常數值做為浮點值。 |
POWER(numeric_exp,integer_exp) (ODBC 2.0) | 將 numeric_exp 的值傳回integer_exp的電源。 |
拉丹斯(numeric_exp) (ODBC 2.0) | 傳回從 numeric_exp 度轉換的弧度數。 |
RAND([integer_exp]) (ODBC 1.0) | 使用 integer_exp 做為選擇性種子值,傳回隨機浮點值。 |
ROUND(numeric_exp, integer_exp) (ODBC 2.0) | 傳 回四 捨五入至 小 數點右邊integer_exp位的numeric_exp。 如果integer_exp為負數,numeric_exp會四捨五入為 |integer_exp| 小數點左邊的位置。 |
SIGN(numeric_exp) (ODBC 1.0) | 傳回numeric_exp符號的指標。 如果 numeric_exp 小於零,則會傳回 -1。 如果 numeric_exp 等於零,則會傳回 0。 如果 numeric_exp 大於零,則會傳回 1。 |
SIN(float_exp) (ODBC 1.0) | 傳回 float_exp 的正弦值,其中float_exp是以弧度表示的角度。 |
SQRT(float_exp) (ODBC 1.0) | 傳回float_exp的平方根。 |
TAN(float_exp) (ODBC 1.0) | 傳回float_exp的正切值,其中float_exp是以弧度表示的角度。 |
TRUNCATE(numeric_exp,integer_exp) (ODBC 2.0) | 傳回截斷至小數點右邊integer_exp的numeric_exp。 如果integer_exp為負數,numeric_exp會截斷為 |integer_exp| 小數點左邊的位置。 |