Sdílet prostřednictvím


Číselné funkce

Následující tabulka popisuje číselné funkce, které jsou součástí skalární sady funkcí ODBC. Voláním SQLGetInfo s informačním typem SQL_NUMERIC_FUNCTIONS může aplikace určit, které číselné funkce ovladač podporuje.

Všechny číselné funkce vrací hodnoty datového typu SQL_FLOAT s výjimkou ABS, ROUND, TRUNCATE, SIGN, FLOOR a CEILING, které vrací hodnoty stejného datového typu jako vstupní parametry.

Argumenty označené jako numeric_exp můžou být název sloupce, výsledek jiné skalární funkce nebo číselného literálu, kde může být podkladový datový typ reprezentován jako SQL_NUMERIC, SQL_DECIMAL, SQL_TINYINT, SQL_SMALLINT, SQL_INTEGER, SQL_BIGINT, SQL_FLOAT, SQL_REAL nebo SQL_DOUBLE.

Argumenty označené jako float_exp mohou být název sloupce, výsledek jiné skalární funkce nebo číselného literálu, kde může být podkladový datový typ reprezentován jako SQL_FLOAT.

Argumenty označené jako integer_exp můžou být název sloupce, výsledek jiné skalární funkce nebo číselného literálu, kde může být podkladový datový typ reprezentován jako SQL_TINYINT, SQL_SMALLINT, SQL_INTEGER nebo SQL_BIGINT.

Skalární funkce CURRENT_DATE, CURRENT_TIME a CURRENT_TIMESTAMP byly přidány v rozhraní ODBC 3.0, aby byly v souladu s SQL-92.

Funkce Popis
ABS(numeric_exp) (ODBC 1.0) Vrátí absolutní hodnotu numeric_exp.
ACOS(float_exp) (ODBC 1.0) Vrátí arkus kosinus float_exp jako úhel vyjádřený v radiánech.
ASIN(float_exp) (ODBC 1.0) Vrátí arkus sinus float_exp jako úhel vyjádřený v radiánech.
ATAN(float_exp) (ODBC 1.0) Vrátí arkusangens float_exp jako úhel vyjádřený v radiánech.
ATAN2(float_exp1, float_exp2) (ODBC 2.0) Vrátí arkus tangens x a souřadnic y určenými float_exp1 a float_exp2, v uvedeném pořadí jako úhel vyjádřený v radiánech.
CEILING(numeric_exp) (ODBC 1.0) Vrátí nejmenší celé číslo větší nebo rovno numeric_exp. Návratová hodnota je stejného datového typu jako vstupní parametr.
COS(float_exp) (ODBC 1.0) Vrátí kosinus float_exp, kde float_exp je úhel vyjádřený v radiánech.
COT(float_exp) (ODBC 1.0) Vrátí kotangens float_exp, kde float_exp je úhel vyjádřený v radiánech.
DEGREES(numeric_exp) (ODBC 2.0) Vrátí počet stupňů převedených z numeric_exp radiánů.
EXP(float_exp) (ODBC 1.0) Vrátí exponenciální hodnotu float_exp.
FLOOR(numeric_exp) (ODBC 1.0) Vrátí největší celé číslo menší nebo rovno numeric_exp. Návratová hodnota je stejného datového typu jako vstupní parametr.
LOG(float_exp) (ODBC 1.0) Vrátí přirozený logaritmus float_exp.
LOG10(float_exp) (ODBC 2.0) Vrátí logaritmus float_expzákladu 10 .
MOD(integer_exp1, integer_exp2) (ODBC 1.0) Vrátí zbytek (modul) integer_exp1 děleného integer_exp2.
PI( ) (ODBC 1.0) Vrátí konstantní hodnotu pí jako hodnotu s plovoucí desetinou čárkou.
POWER(numeric_exp, integer_exp) (ODBC 2.0) Vrátí hodnotu numeric_exp na mocninu integer_exp.
RADIIANS(numeric_exp) (ODBC 2.0) Vrátí počet radiánů převedených z numeric_exp stupňů.
RAND([integer_exp]) (ODBC 1.0) Vrátí náhodnou hodnotu s plovoucí desetinou čárkou pomocí integer_exp jako volitelnou počáteční hodnotu.
ROUND(numeric_exp, integer_exp) (ODBC 2.0) Vrátí numeric_exp zaokrouhlené na integer_exp místa vpravo od desetinné čárky. Pokud je integer_exp záporná, numeric_exp se zaokrouhlí na |integer_exp| nalevo od desetinné čárky.
SIGN(numeric_exp) (ODBC 1.0) Vrátí indikátor znaménka numeric_exp. Pokud je numeric_exp menší než nula, vrátí se -1. Pokud se numeric_exp rovná nule, vrátí se hodnota 0. Pokud je numeric_exp větší než nula, vrátí se hodnota 1.
SIN(float_exp) (ODBC 1.0) Vrátí sinus float_exp, kde float_exp je úhel vyjádřený v radiánech.
SQRT(float_exp) (ODBC 1.0) Vrátí druhou odmocninu float_exp.
TAN(float_exp) (ODBC 1.0) Vrátí tangens float_exp, kde float_exp je úhel vyjádřený v radiánech.
TRUNCATE(numeric_exp, integer_exp) (ODBC 2.0) Vrátí numeric_exp zkrácenou na integer_exp místa vpravo od desetinné čárky. Pokud je integer_exp záporná, numeric_exp se zkrátí na |integer_exp| nalevo od desetinné čárky.