Funkcje liczbowe
W poniższej tabeli opisano funkcje liczbowe zawarte w zestawie funkcji skalarnych ODBC. Wywołując SQLGetInfo z typem informacji SQL_NUMERIC_FUNCTIONS, aplikacja może określić, które funkcje liczbowe są obsługiwane przez sterownik.
Wszystkie funkcje liczbowe zwracają wartości typu danych SQL_FLOAT z wyjątkiem ABS, ROUND, TRUNCATE, SIGN, FLOOR i CEILING, które zwracają wartości tego samego typu danych co parametry wejściowe.
Argumenty oznaczone jako numeric_exp mogą być nazwą kolumny, wynikiem innej funkcji skalarnej lub literału liczbowego, gdzie podstawowy typ danych może być reprezentowany jako SQL_NUMERIC, SQL_DECIMAL, SQL_TINYINT, SQL_SMALLINT, SQL_INTEGER, SQL_BIGINT, SQL_FLOAT, SQL_REAL lub SQL_DOUBLE.
Argumenty oznaczone jako float_exp mogą być nazwą kolumny, wynikiem innej funkcji skalarnej lub literału liczbowego, gdzie podstawowy typ danych może być reprezentowany jako SQL_FLOAT.
Argumenty oznaczone jako integer_exp mogą być nazwą kolumny, wynikiem innej funkcji skalarnej lub literału liczbowego, gdzie podstawowy typ danych może być reprezentowany jako SQL_TINYINT, SQL_SMALLINT, SQL_INTEGER lub SQL_BIGINT.
Funkcje CURRENT_DATE, CURRENT_TIME i CURRENT_TIMESTAMP skalarne zostały dodane w wersji ODBC 3.0 w celu dostosowania do języka SQL-92.
Funkcja | Opis |
---|---|
ABS(numeric_exp) (ODBC 1.0) | Zwraca wartość bezwzględną numeric_exp. |
ACOS(float_exp) (ODBC 1.0) | Zwraca arcus cosinus float_exp jako kąt wyrażony w radianach. |
ASIN(float_exp) (ODBC 1.0) | Zwraca arcusus float_exp jako kąt wyrażony w radianach. |
ATAN(float_exp) (ODBC 1.0) | Zwraca arcus tangens float_exp jako kąt wyrażony w radianach. |
ATAN2(float_exp1, float_exp2) (ODBC 2.0) | Zwraca arcus tangens x i y współrzędnych określonych przez float_exp1 i float_exp2, odpowiednio jako kąt wyrażony w radianach. |
CEILING(numeric_exp) (ODBC 1.0) | Zwraca najmniejszą liczbę całkowitą większą lub równą numeric_exp. Wartość zwracana jest tego samego typu danych co parametr wejściowy. |
COS(float_exp) (ODBC 1.0) | Zwraca cosinus float_exp, gdzie float_exp jest kątem wyrażonym w radianach. |
COT(float_exp) (ODBC 1.0) | Zwraca cotangent float_exp, gdzie float_exp jest kątem wyrażonym w radianach. |
STOPNIE(numeric_exp) (ODBC 2.0) | Zwraca liczbę stopni przekonwertowanych z numeric_exp radianów. |
EXP(float_exp) (ODBC 1.0) | Zwraca wartość wykładniczą float_exp. |
FLOOR(numeric_exp) (ODBC 1.0) | Zwraca największą liczbę całkowitą mniejszą lub równą numeric_exp. Wartość zwracana jest tego samego typu danych co parametr wejściowy. |
LOG(float_exp) (ODBC 1.0) | Zwraca logarytm naturalny float_exp. |
LOG10(float_exp) (ODBC 2.0) | Zwraca logarytm podstawowy 10 float_exp. |
MOD(integer_exp1, integer_exp2) (ODBC 1.0) | Zwraca resztę (modulus) integer_exp1 podzielone przez integer_exp2. |
PI( ) (ODBC 1.0) | Zwraca stałą wartość pi jako wartość zmiennoprzecinkową. |
POWER(numeric_exp, integer_exp) (ODBC 2.0) | Zwraca wartość numeric_exp do potęgi integer_exp. |
RADIANS(numeric_exp) (ODBC 2.0) | Zwraca liczbę radianów przekonwertowanych z numeric_exp stopni. |
RAND([integer_exp]) (ODBC 1.0) | Zwraca losową wartość zmiennoprzecinkową przy użyciu integer_exp jako opcjonalną wartość inicjującą. |
ROUND(numeric_exp, integer_exp) (ODBC 2.0) | Zwraca numeric_exp zaokrąglone do integer_exp miejsca po prawej stronie przecinka dziesiętnego. Jeśli integer_exp jest ujemna, numeric_exp jest zaokrąglany do |integer_exp| miejsce po lewej stronie punktu dziesiętnego. |
SIGN(numeric_exp) (ODBC 1.0) | Zwraca wskaźnik znaku numeric_exp. Jeśli numeric_exp jest mniejsza niż zero, zwracana jest -1. Jeśli numeric_exp równa się zero, zwracana jest wartość 0. Jeśli numeric_exp jest większa niż zero, zwracana jest wartość 1. |
SIN(float_exp) (ODBC 1.0) | Zwraca sinus float_exp, gdzie float_exp jest kątem wyrażonym w radianach. |
SQRT(float_exp) (ODBC 1.0) | Zwraca pierwiastek kwadratowy float_exp. |
TAN(float_exp) (ODBC 1.0) | Zwraca tangens float_exp, gdzie float_exp jest kątem wyrażonym w radianach. |
TRUNCATE(numeric_exp, integer_exp) (ODBC 2.0) | Zwraca numeric_exp obcięte do integer_exp miejsca po prawej stronie przecinka dziesiętnego. Jeśli integer_exp jest ujemna, numeric_exp zostanie obcięta do |integer_exp| miejsce po lewej stronie punktu dziesiętnego. |