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.

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

Os 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.

Os 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 alinharem 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 a arccosseno 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.
TETO( 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.
GRAUS( 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.
PISO ( 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 resto (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.
POTÊNCIA (numeric_exp, integer_exp) (ODBC 2.0) Retorna o valor de numeric_exp elevado à potência de integer_exp.
RADIANOS( 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) Os retornos numeric_exp arredondados para integer_exp casas à direita do ponto decimal. Se integer_exp for negativo, numeric_exp será arredondado para |integer_exp| à esquerda da vírgula decimal.
SINAL( 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) Os retornos numeric_exp truncados para integer_exp casas à direita do ponto decimal. Se integer_exp for negativo, numeric_exp será truncado para |integer_exp| à esquerda da vírgula decimal.