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. |