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