Dela via


Numeriska funktioner

I följande tabell beskrivs numeriska funktioner som ingår i odbc-skalärfunktionsuppsättningen. Genom att anropa SQLGetInfo med en informationstyp av SQL_NUMERIC_FUNCTIONS kan ett program avgöra vilka numeriska funktioner som stöds av en drivrutin.

Alla numeriska funktioner returnerar värden av datatyp SQL_FLOAT förutom ABS, ROUND, TRUNCATE, SIGN, FLOOR och CEILING, som returnerar värden av samma datatyp som indataparametrarna.

Argument som anges som numeric_exp kan vara namnet på en kolumn, resultatet av en annan skalär funktion eller en numerisk-literal, där den underliggande datatypen kan representeras som SQL_NUMERIC, SQL_DECIMAL, SQL_TINYINT, SQL_SMALLINT, SQL_INTEGER, SQL_BIGINT, SQL_FLOAT, SQL_REAL eller SQL_DOUBLE.

Argument som anges som float_exp kan vara namnet på en kolumn, resultatet av en annan skalär funktion eller en numerisk-literal, där den underliggande datatypen kan representeras som SQL_FLOAT.

Argument som anges som integer_exp kan vara namnet på en kolumn, resultatet av en annan skalär funktion eller en numerisk-literal, där den underliggande datatypen kan representeras som SQL_TINYINT, SQL_SMALLINT, SQL_INTEGER eller SQL_BIGINT.

Funktionerna CURRENT_DATE, CURRENT_TIME och CURRENT_TIMESTAMP skalär har lagts till i ODBC 3.0 för att överensstämma med SQL-92.

Funktion Beskrivning
ABS(numeric_exp) (ODBC 1.0) Returnerar det absoluta värdet för numeric_exp.
ACOS(float_exp) (ODBC 1.0) Returnerar arccosinus för float_exp som en vinkel, uttryckt i radianer.
ASIN(float_exp) (ODBC 1.0) Returnerar arcsinus för float_exp som en vinkel, uttryckt i radianer.
ATAN(float_exp) (ODBC 1.0) Returnerar arctangensen för float_exp som en vinkel, uttryckt i radianer.
ATAN2(float_exp1, float_exp2) (ODBC 2.0) Returnerar arctangensen för koordinaterna x och y, som anges av float_exp1 respektive float_exp2, som en vinkel uttryckt i radianer.
CEILING(numeric_exp) (ODBC 1.0) Returnerar det minsta heltal som är större än eller lika med numeric_exp. Returvärdet är av samma datatyp som indataparametern.
COS(float_exp) (ODBC 1.0) Returnerar cosininen för float_exp, där float_exp är en vinkel uttryckt i radianer.
COT(float_exp) (ODBC 1.0) Returnerar cotangensen för float_exp, där float_exp är en vinkel uttryckt i radianer.
DEGREES(numeric_exp) (ODBC 2.0) Returnerar antalet grader som konverterats från numeric_exp radianer.
EXP(float_exp) (ODBC 1.0) Returnerar exponentiellt värde för float_exp.
FLOOR(numeric_exp) (ODBC 1.0) Returnerar det största heltalet som är mindre än eller lika med numeric_exp. Returvärdet är av samma datatyp som indataparametern.
LOG(float_exp) (ODBC 1.0) Returnerar den naturliga logaritmen för float_exp.
LOG10(float_exp) (ODBC 2.0) Returnerar bas 10-logaritmen för float_exp.
MOD(integer_exp1, integer_exp2) (ODBC 1.0) Returnerar resten (modulus) av integer_exp1 dividerat med integer_exp2.
PI( ) (ODBC 1.0) Returnerar det konstanta värdet för pi som ett flyttalsvärde.
POWER(numeric_exp, integer_exp) (ODBC 2.0) Returnerar värdet för numeric_exp till kraften i integer_exp.
RADIANS(numeric_exp) (ODBC 2.0) Returnerar antalet radianer som konverterats från numeric_exp grader.
RAND([integer_exp]) (ODBC 1.0) Returnerar ett slumpmässigt flyttalsvärde med integer_exp som valfritt startvärde.
ROUND(numeric_exp, integer_exp) (ODBC 2.0) Returnerar numeric_exp avrundat till integer_exp platser till höger om decimaltecknet. Om integer_exp är negativt avrundas numeric_exp till |integer_exp| till vänster om decimaltecknet.
SIGN(numeric_exp) (ODBC 1.0) Returnerar en indikator på tecknet för numeric_exp. Om numeric_exp är mindre än noll returneras -1. Om numeric_exp är lika med noll returneras 0. Om numeric_exp är större än noll returneras 1.
SIN(float_exp) (ODBC 1.0) Returnerar sinus för float_exp, där float_exp är en vinkel uttryckt i radianer.
SQRT(float_exp) (ODBC 1.0) Returnerar kvadratroten för float_exp.
TAN(float_exp) (ODBC 1.0) Returnerar tangenten för float_exp, där float_exp är en vinkel uttryckt i radianer.
TRUNCATE(numeric_exp, integer_exp) (ODBC 2.0) Returnerar numeric_exp trunkerade till integer_exp platser till höger om decimaltecknet. Om integer_exp är negativt trunkeras numeric_exp till |integer_exp| till vänster om decimaltecknet.