Bagikan melalui


Fungsi numerik

Tabel berikut ini menjelaskan fungsi numerik yang disertakan dalam kumpulan fungsi skalar ODBC. Dengan memanggil SQLGetInfo dengan jenis informasi SQL_NUMERIC_FUNCTIONS, aplikasi dapat menentukan fungsi numerik mana yang didukung oleh driver.

Semua fungsi numerik mengembalikan nilai jenis data SQL_FLOAT kecuali UNTUK ABS, ROUND, TRUNCATE, SIGN, FLOOR, dan CEILING, yang mengembalikan nilai dari jenis data yang sama dengan parameter input.

Argumen yang ditandai sebagai numeric_exp dapat berupa nama kolom, hasil fungsi skalar lain, atau numeric-literal, di mana jenis data yang mendasarinya dapat direpresentasikan sebagai SQL_NUMERIC, SQL_DECIMAL, SQL_TINYINT, SQL_SMALLINT, SQL_INTEGER, SQL_BIGINT, SQL_FLOAT, SQL_REAL, atau SQL_DOUBLE.

Argumen yang ditandai sebagai float_exp bisa menjadi nama kolom, hasil fungsi skalar lain, atau harfiah numerik, di mana jenis data yang mendasarinya dapat direpresentasikan sebagai SQL_FLOAT.

Argumen yang ditandai sebagai integer_exp bisa menjadi nama kolom, hasil fungsi skalar lain, atau numerik-literal, di mana jenis data yang mendasarinya dapat direpresentasikan sebagai SQL_TINYINT, SQL_SMALLINT, SQL_INTEGER, atau SQL_BIGINT.

Fungsi skalar CURRENT_DATE, CURRENT_TIME, dan CURRENT_TIMESTAMP telah ditambahkan dalam ODBC 3.0 untuk selaras dengan SQL-92.

Fungsi Deskripsi
ABS(numeric_exp) (ODBC 1.0) Mengembalikan nilai absolut numeric_exp.
ACOS(float_exp) (ODBC 1.0) Mengembalikan arkakosinus float_exp sebagai sudut, yang dinyatakan dalam radian.
ASIN(float_exp) (ODBC 1.0) Mengembalikan arkasinus float_exp sebagai sudut, yang dinyatakan dalam radian.
ATAN(float_exp) (ODBC 1.0) Mengembalikan arka tangen float_exp sebagai sudut, yang dinyatakan dalam radian.
ATAN2(float_exp1, float_exp2) (ODBC 2.0) Mengembalikan arka tangen koordinat x dan y , yang ditentukan oleh float_exp1 dan float_exp2, masing-masing, sebagai sudut, yang dinyatakan dalam radian.
CEILING(numeric_exp) (ODBC 1.0) Mengembalikan bilangan bulat terkecil yang lebih besar dari atau sama dengan numeric_exp. Nilai yang dikembalikan adalah jenis data yang sama dengan parameter input.
COS(float_exp) (ODBC 1.0) Mengembalikan kosinus float_exp, di mana float_exp adalah sudut yang dinyatakan dalam radian.
COT(float_exp) (ODBC 1.0) Mengembalikan kotangen float_exp, di mana float_exp adalah sudut yang dinyatakan dalam radian.
DEGREES(numeric_exp) (ODBC 2.0) Mengembalikan jumlah derajat yang dikonversi dari radian numeric_exp .
EXP(float_exp) (ODBC 1.0) Mengembalikan nilai eksponensial float_exp.
FLOOR(numeric_exp) (ODBC 1.0) Mengembalikan bilangan bulat terbesar kurang dari atau sama dengan numeric_exp. Nilai yang dikembalikan adalah jenis data yang sama dengan parameter input.
LOG(float_exp) (ODBC 1.0) Mengembalikan logaritma alami float_exp.
LOG10(float_exp) (ODBC 2.0) Mengembalikan logaritma dasar 10 float_exp.
MOD(integer_exp1, integer_exp2) (ODBC 1.0) Mengembalikan sisa (modulus) integer_exp1 dibagi dengan integer_exp2.
PI( ) (ODBC 1.0) Mengembalikan nilai konstanta pi sebagai nilai floating-point.
POWER(numeric_exp, integer_exp) (ODBC 2.0) Mengembalikan nilai numeric_exp ke daya integer_exp.
RADIANS(numeric_exp) (ODBC 2.0) Mengembalikan jumlah radian yang dikonversi dari numeric_exp derajat.
RAND([integer_exp]) (ODBC 1.0) Mengembalikan nilai floating-point acak menggunakan integer_exp sebagai nilai seed opsional.
ROUND(numeric_exp, integer_exp) (ODBC 2.0) Mengembalikan numeric_exp dibulatkan ke tempat integer_exp tepat dari titik desimal. Jika integer_exp negatif, numeric_exp dibulatkan ke |integer_exp| tempat di sebelah kiri titik desimal.
SIGN(numeric_exp) (ODBC 1.0) Mengembalikan indikator tanda numeric_exp. Jika numeric_exp kurang dari nol, -1 dikembalikan. Jika numeric_exp sama dengan nol, 0 dikembalikan. Jika numeric_exp lebih besar dari nol, 1 dikembalikan.
SIN(float_exp) (ODBC 1.0) Mengembalikan sinus float_exp, di mana float_exp adalah sudut yang dinyatakan dalam radian.
SQRT(float_exp) (ODBC 1.0) Mengembalikan akar kuadrat float_exp.
TAN(float_exp) (ODBC 1.0) Mengembalikan tangen float_exp, di mana float_exp adalah sudut yang dinyatakan dalam radian.
TRUNCATE(numeric_exp, integer_exp) (ODBC 2.0) Mengembalikan numeric_exp dipotong ke tempat integer_exp tepat dari titik desimal. Jika integer_exp negatif, numeric_exp dipotong ke |integer_exp| tempat di sebelah kiri titik desimal.