Funzioni numeriche
Nella tabella seguente vengono descritte le funzioni numeriche incluse nel set di funzioni scalari ODBC. Chiamando SQLGetInfo con un tipo di informazioni di SQL_NUMERIC_FUNCTIONS, un'applicazione può determinare quali funzioni numeriche sono supportate da un driver.
Tutte le funzioni numeriche restituiscono valori di tipo di dati SQL_FLOAT ad eccezione di ABS, ROUND, TRUNCATE, SIGN, FLOOR e CEILING, che restituiscono valori dello stesso tipo di dati dei parametri di input.
Gli argomenti indicati come numeric_exp possono essere il nome di una colonna, il risultato di un'altra funzione scalare o un valore letterale numerico, dove il tipo di dati sottostante può essere rappresentato come SQL_NUMERIC, SQL_DECIMAL, SQL_TINYINT, SQL_SMALLINT, SQL_INTEGER, SQL_BIGINT, SQL_FLOAT, SQL_REAL o SQL_DOUBLE.
Gli argomenti indicati come float_exp possono essere il nome di una colonna, il risultato di un'altra funzione scalare o un valore letterale numerico, in cui il tipo di dati sottostante può essere rappresentato come SQL_FLOAT.
Gli argomenti indicati come integer_exp possono essere il nome di una colonna, il risultato di un'altra funzione scalare o un valore letterale numerico, in cui il tipo di dati sottostante può essere rappresentato come SQL_TINYINT, SQL_SMALLINT, SQL_INTEGER o SQL_BIGINT.
Le funzioni scalari CURRENT_DATE, CURRENT_TIME e CURRENT_TIMESTAMP sono state aggiunte in ODBC 3.0 per allinearsi a SQL-92.
Funzione | Descrizione |
---|---|
ABS(numeric_exp) (ODBC 1.0) | Restituisce il valore assoluto di numeric_exp. |
ACOS(float_exp) (ODBC 1.0) | Restituisce l'arcocosina di float_exp come angolo espresso in radianti. |
ASIN(float_exp) (ODBC 1.0) | Restituisce l'arcosine di float_exp come angolo espresso in radianti. |
ATAN(float_exp) (ODBC 1.0) | Restituisce l'arcotangente di float_exp come angolo espresso in radianti. |
ATAN2(float_exp1, float_exp2) (ODBC 2.0) | Restituisce l'arcotangente delle coordinate x e y , specificate rispettivamente da float_exp1 e float_exp2, come angolo, espresso in radianti. |
CEILING(numeric_exp) (ODBC 1.0) | Restituisce il numero intero più piccolo maggiore o uguale a numeric_exp. Il valore restituito è dello stesso tipo di dati del parametro di input. |
COS(float_exp) (ODBC 1.0) | Restituisce il coseno di float_exp, dove float_exp è un angolo espresso in radianti. |
COT(float_exp) (ODBC 1.0) | Restituisce la cotangente di float_exp, dove float_exp è un angolo espresso in radianti. |
DEGREES(numeric_exp) (ODBC 2.0) | Restituisce il numero di gradi convertiti da numeric_exp radianti. |
EXP(float_exp) (ODBC 1.0) | Restituisce il valore esponenziale di float_exp. |
FLOOR(numeric_exp) (ODBC 1.0) | Restituisce il numero intero più grande minore o uguale a numeric_exp. Il valore restituito è dello stesso tipo di dati del parametro di input. |
LOG(float_exp) (ODBC 1.0) | Restituisce il logaritmo naturale di float_exp. |
LOG10(float_exp) (ODBC 2.0) | Restituisce il logaritmo di base 10 di float_exp. |
MOD(integer_exp1, integer_exp2) (ODBC 1.0) | Restituisce il resto (modulo) di integer_exp1 diviso per integer_exp2. |
PI( ) (ODBC 1.0) | Restituisce il valore costante di pi come valore a virgola mobile. |
POWER(numeric_exp, integer_exp) (ODBC 2.0) | Restituisce il valore di numeric_exp alla potenza di integer_exp. |
RADIANS(numeric_exp) (ODBC 2.0) | Restituisce il numero di radianti convertiti da numeric_exp gradi. |
RAND([integer_exp]) (ODBC 1.0) | Restituisce un valore a virgola mobile casuale utilizzando integer_exp come valore di inizializzazione facoltativo. |
ROUND(numeric_exp, integer_exp) (ODBC 2.0) | Restituisce numeric_exp arrotondato a integer_exp posizioni a destra del separatore decimale. Se integer_exp è negativo, numeric_exp viene arrotondato a |integer_exp | posiziona a sinistra del separatore decimale. |
SIGN(numeric_exp) (ODBC 1.0) | Restituisce un indicatore del segno di numeric_exp. Se numeric_exp è minore di zero, viene restituito -1. Se numeric_exp è uguale a zero, viene restituito 0. Se numeric_exp è maggiore di zero, viene restituito 1. |
SIN(float_exp) (ODBC 1.0) | Restituisce il seno di float_exp, dove float_exp è un angolo espresso in radianti. |
SQRT(float_exp) (ODBC 1.0) | Restituisce la radice quadrata di float_exp. |
TAN(float_exp) (ODBC 1.0) | Restituisce la tangente di float_exp, dove float_exp è un angolo espresso in radianti. |
TRUNCATE(numeric_exp, integer_exp) (ODBC 2.0) | Restituisce numeric_exp troncato in integer_exp posizioni a destra del separatore decimale. Se integer_exp è negativo, numeric_exp viene troncato in |integer_exp | posiziona a sinistra del separatore decimale. |