数值函数

下表描述了 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_exp1float_exp2 (ODBC 2.0) 以弧度表示的角度返回由float_exp1和float_exp2分别指定的 x 坐标和 y 坐标的反正切值。
CEILING(numeric_exp (ODBC 1.0) 返回大于或等于 numeric_exp的最小整数。 返回值与输入参数的数据类型相同。
COS(float_exp (ODBC 1.0) 返回float_exp余弦值,其中float_exp是以弧度表示的角度。
COT(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指数值。
FLOOR(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_exp1integer_exp2 (ODBC 1.0) 返回除以integer_exp2 integer_exp1余数(模数)。
PI() (ODBC 1.0) 以浮点值的形式返回 pi 的常量值。
POWER(numeric_exp,integer_exp (ODBC 2.0) 返回integer_exp幂numeric_exp的值
RADIANS(numeric_exp (ODBC 2.0) 返回从 numeric_exp 度转换的弧度数。
RAND([integer_exp]) (ODBC 1.0) 使用 integer_exp 作为可选种子值返回随机浮点值。
ROUND(numeric_exp,integer_exp (ODBC 2.0) 返回 numeric_exp 舍入到 小数点右侧的 integer_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 | 小数点左侧的位置。