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

В следующей таблице описаны числовые функции, включенные в скалярный набор функций 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| помещает слева от десятичной запятой.