Partilhar 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 são suportadas por 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.

Os argumentos indicados como numeric_exp podem ser o nome de uma coluna, o resultado de outra função escalar ou umanumérico-literal , onde 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.

Os argumentos indicados como float_exp podem ser o nome de uma coluna, o resultado de outra função escalar ou uma numérico-literal , onde o tipo de dados subjacente pode ser representado como SQL_FLOAT.

Os argumentos indicados como integer_exp podem ser o nome de uma coluna, o resultado de outra função escalar ou umanumérico-literal , onde 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 alinhar com o SQL-92.

Função Descrição
ABS(numeric_exp) (ODBC 1.0) Devolve o valor absoluto de numeric_exp.
ACOS(float_exp) (ODBC 1.0) Devolve o arco cosseno de float_exp como um ângulo, expresso em radianos.
ASIN(float_exp) (ODBC 1.0) Devolve o arco seno de float_exp como um ângulo, expresso em radianos.
ATAN(float_exp) (ODBC 1.0) Devolve o arco tangente de float_exp como um ângulo, expresso em radianos.
ATAN2(float_exp1, float_exp2) (ODBC 2.0) Devolve o arco tangente das coordenadas x e y, especificadas por float_exp1 e float_exp2, respetivamente, como um ângulo, expresso em radianos.
TETO(numeric_exp) (ODBC 1.0) Devolve o menor número inteiro maior ou igual a numeric_exp. O valor de retorno é do mesmo tipo de dados que o parâmetro de entrada.
COS(float_exp) (ODBC 1.0) Devolve o cosseno de float_exp, onde float_exp é um ângulo expresso em radianos.
COT(float_exp) (ODBC 1.0) Devolve a cotangente de float_exp, em que float_exp é um ângulo expresso em radianos.
GRAUS(numeric_exp) (ODBC 2.0) Devolve o número de graus convertidos a partir de radianos numeric_exp.
EXP(float_exp) (ODBC 1.0) Devolve o valor exponencial de float_exp.
ANDAR(numeric_exp) (ODBC 1.0) Devolve o maior número inteiro inferior ou igual a numeric_exp. O valor de retorno é do mesmo tipo de dados que o parâmetro de entrada.
LOG(float_exp) (ODBC 1.0) Devolve o logaritmo natural de float_exp.
LOG10(float_exp) (ODBC 2.0) Devolve o logaritmo de base 10 de float_exp.
MOD(integer_exp1, integer_exp2) (ODBC 1.0) Devolve o restante (módulo) de integer_exp1 dividido por integer_exp2.
PI( ) (ODBC 1.0) Devolve o valor constante de pi como um valor de vírgula flutuante.
POWER(numeric_exp, integer_exp) (ODBC 2.0) Devolve o valor de numeric_exp à potência de integer_exp.
RADIANOS(numeric_exp) (ODBC 2.0) Devolve o número de radianos convertidos a partir de numeric_exp graus.
RAND([integer_exp]) (ODBC 1.0) Retorna um valor aleatório de ponto flutuante usando integer_exp como o valor de semente opcional.
ROUND(numeric_exp, integer_exp) (ODBC 2.0) Devolve numeric_exp arredondado para integer_exp posições à direita da vírgula decimal. Se integer_exp for negativo, numeric_exp é arredondado para |integer_exp| coloca à esquerda da vírgula decimal.
SIGN(numeric_exp) (ODBC 1.0) Devolve 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) Devolve o seno de float_exp, em que float_exp é um ângulo expresso em radianos.
SQRT(float_exp) (ODBC 1.0) Devolve a raiz quadrada de float_exp.
TAN(float_exp) (ODBC 1.0) Devolve a tangente de float_exp, em que float_exp é um ângulo expresso em radianos.
TRUNCATE(numeric_exp, integer_exp) (ODBC 2.0) Devolve numeric_exp truncado para integer_exp posições à direita da vírgula decimal. Se integer_exp for negativo, numeric_exp será truncado para |integer_exp| coloca à esquerda da vírgula decimal.