Compartilhar via


Funções numéricas

A tabela a seguir descreve as funções numéricas incluídas no conjunto de funções escalares ODBC. Ao chamar SQLGetInfo com um tipo de informação de SQL_NUMERIC_FUNCTIONS, um aplicativo pode determinar quais funções numéricas têm suporte de um driver.

Todas as funções numéricas retornam valores do tipo de dados SQL_FLOAT exceto ABS, ROUND, TRUNCATE, SIGN, FLOOR e CEILING, que retornam valores do mesmo tipo de dados que os parâmetros de entrada.

Argumentos indicados como numeric_exp podem ser o nome de uma coluna, o resultado de outra função escalar ou um numeric-literal, em que o tipo de dados subjacente pode ser representado como SQL_NUMERIC, SQL_DECIMAL, SQL_TINYINT, SQL_SMALLINT, SQL_INTEGER, SQL_BIGINT, SQL_FLOAT, SQL_REAL ou SQL_DOUBLE.

Argumentos indicados como float_exp podem ser o nome de uma coluna, o resultado de outra função escalar ou um literal numérico, em que o tipo de dados subjacente pode ser representado como SQL_FLOAT.

Argumentos indicados como integer_exp podem ser o nome de uma coluna, o resultado de outra função escalar ou um literal numérico, em que o tipo de dados subjacente pode ser representado como SQL_TINYINT, SQL_SMALLINT, SQL_INTEGER ou SQL_BIGINT.

As funções escalares CURRENT_DATE, CURRENT_TIME e CURRENT_TIMESTAMP foram adicionadas no ODBC 3.0 para se alinhar ao SQL-92.

Função Descrição
ABS(numeric_exp) (ODBC 1.0) Retorna o valor absoluto de numeric_exp.
ACOS(float_exp) (ODBC 1.0) Retorna o arco cosseno de float_exp como um ângulo, expresso em radianos.
ASIN(float_exp) (ODBC 1.0) Retorna o arco seno de float_exp como um ângulo, expresso em radianos.
ATAN(float_exp) (ODBC 1.0) Retorna o arco tangente de float_exp como um ângulo, expresso em radianos.
ATAN2(float_exp1, float_exp2) (ODBC 2.0) Retorna o arco tangente das coordenadas x e y , especificadas por float_exp1 e float_exp2, respectivamente, como um ângulo, expresso em radianos.
CEILING(numeric_exp) (ODBC 1.0) Retorna o menor inteiro maior ou igual a numeric_exp. O valor retornado é do mesmo tipo de dados que o parâmetro de entrada.
COS(float_exp) (ODBC 1.0) Retorna o cosseno de float_exp, em que float_exp é um ângulo expresso em radianos.
COT(float_exp) (ODBC 1.0) Retorna a cotangente de float_exp, em que float_exp é um ângulo expresso em radianos.
DEGREES(numeric_exp) (ODBC 2.0) Retorna o número de graus convertidos de numeric_exp radianos.
EXP(float_exp) (ODBC 1.0) Retorna o valor exponencial de float_exp.
FLOOR(numeric_exp) (ODBC 1.0) Retorna o maior inteiro menor ou igual a numeric_exp. O valor retornado é do mesmo tipo de dados que o parâmetro de entrada.
LOG(float_exp) (ODBC 1.0) Retorna o logaritmo natural de float_exp.
LOG10(float_exp) (ODBC 2.0) Retorna o logaritmo de base 10 de float_exp.
MOD(integer_exp1, integer_exp2) (ODBC 1.0) Retorna o restante (módulo) de integer_exp1 dividido por integer_exp2.
PI( ) (ODBC 1.0) Retorna o valor constante de pi como um valor de ponto flutuante.
POWER(numeric_exp, integer_exp) (ODBC 2.0) Retorna o valor de numeric_exp à potência de integer_exp.
RADIANS(numeric_exp) (ODBC 2.0) Retorna o número de radianos convertidos de numeric_exp graus.
RAND([integer_exp]) (ODBC 1.0) Retorna um valor de ponto flutuante aleatório usando integer_exp como o valor de semente opcional.
ROUND(numeric_exp, integer_exp) (ODBC 2.0) Retorna numeric_exp arredondado para integer_exp locais à direita do ponto decimal. Se integer_exp for negativo, numeric_exp será arredondado para | integer_exp| coloca à esquerda do ponto decimal.
SIGN(numeric_exp) (ODBC 1.0) Retorna um indicador do sinal de numeric_exp. Se numeric_exp for menor que zero, -1 será retornado. Se numeric_exp for igual a zero, 0 será retornado. Se numeric_exp for maior que zero, 1 será retornado.
SIN(float_exp) (ODBC 1.0) Retorna o seno de float_exp, em que float_exp é um ângulo expresso em radianos.
SQRT(float_exp) (ODBC 1.0) Retorna a raiz quadrada de float_exp.
TAN(float_exp) (ODBC 1.0) Retorna a tangente de float_exp, em que float_exp é um ângulo expresso em radianos.
TRUNCATE(numeric_exp, integer_exp) (ODBC 2.0) Retorna numeric_exp truncado para integer_exp locais à direita do ponto decimal. Se integer_exp for negativo, numeric_exp será truncado para | integer_exp| coloca à esquerda do ponto decimal.