Поделиться через


Числовые функции

В следующей таблице описаны числовые функции, включенные в скалярный набор функций ODBC. Вызывая SQLGetInfo с типом сведений SQL_NUMERIC_FUNCTIONS, приложение может определить, какие числовые функции поддерживаются драйвером.

Все числовые функции возвращают значения типа данных SQL_FLOAT за исключением ABS, ROUND, TRUNCATE, SIGN, FLOOR и CEILING, которые возвращают значения того же типа данных, что и входные параметры.

Аргументы, обозначаемые как 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.

Function Description
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 является углом, выраженным в радианах.
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) Возвращает базовый 10 логарифм float_exp.
MOD(integer_exp1, integer_exp2) (ODBC 1.0) Возвращает оставшуюся часть (модулу) integer_exp1, разделенную на integer_exp2.
PI( ) (ODBC 1.0) Возвращает константное значение pi в виде значения с плавающей запятой.
POWER(numeric_exp, integer_exp) (ODBC 2.0) Возвращает значение numeric_exp в силу integer_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) Возвращает numeric_exp усечено до integer_exp справа от десятичной запятой. Если integer_exp отрицательно, numeric_exp усечено на |integer_exp| помещает слева от десятичной запятой.