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 l numerico,doveil 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.