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