分享方式:


數值函數

下表描述 ODBC 純量函數集中包含的數值函式。 藉由呼叫資訊類型為 SQL_NUMERIC_FUNCTIONS 的 SQLGetInfo,應用程式可以判斷驅動程式支援哪些數值函式。

除了 ABS、ROUND、TRUNCATE、SIGN、FLOOR 和 CEILING 以外,所有數值函式都會傳回數據類型的值SQL_FLOAT,這些值會傳回與輸入參數相同的數據類型值。

以numeric_exp表示的自變數可以是數據行的名稱、另一個純量函式的結果或數值升值 l,其中基礎數據類型可以表示為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_exp1float_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_expinteger_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| 小數點左邊的位置。