数值函数

下表描述了 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) 返回 xy 坐标的反正切值,分别由 float_exp1float_exp2 指定为角度,以弧度表示。
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_exp1除以 integer_exp2的余数 (模 )
PI ( ) (ODBC 1.0) 以浮点值的形式返回 pi 的常量值。
POWER (numeric_expinteger_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_expinteger_exp) (ODBC 2.0) 返回 numeric_exp 舍入到小数点右侧 integer_exp 位。 如果 integer_exp 为负数, 则numeric_exp 舍入为 |integer_exp |在小数点左侧。
(ODBC 1.0 ) ) 签名 (numeric_exp 返回 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_expinteger_exp) (ODBC 2.0) 返回 numeric_exp 截断到小数点右侧 integer_exp 位。 如果 integer_exp 为负数, 则numeric_exp 将被截断为 |integer_exp |在小数点左侧。