四 SQL函式 數學函式2

2021-10-13 13:07:08 字數 3398 閱讀 1522

它接受乙個引數,這個引數為待計算正弦值的表示式。如

select fname,fweight,sin(fweight) from t_person
它接受乙個引數,這個引數為待計算余弦值的表示式。如

select fname,fweight, cos(fweight) from t_person
它接受乙個引數,這個引數為待計算反正弦值的表示式。如

select fname,fweight, asin(1/fweight) from t_person
它接受乙個引數,這個引數為待計算反余弦值的表示式。如

select fname,fweight, acos(1/fweight) from t_person
它接受乙個引數,這個引數為待計算正切值的表示式。如:

select fname,fweight, tan(fweight) from t_person
它接受乙個引數,這個引數為待計算反正切值的表示式。如

select fname,fweight, atan(fweight) from t_person
atan2函式(在mysqlserver 中這個函式名稱為atn2)用來計算2 個變數的反正切,其使用格式為:atan2(x,y),函式返回2 個變數x 和y 的反正切。它類似於計算y/x 的反正切,除了兩個引數的符號被用來決定結果的象限。

執行下面的sql語句:

mysql,oracle,db2:

select fname,fweight, atan2(fweight,2) from t_person

mssqlserver:

select fname,fweight, atn2(fweight,2) from t_person

它接受乙個引數,這個引數為待計算餘切值的表示式。在oracle中不支援這個函式,不過根據餘切是正切的倒數這乙個特性,可以使用tan()函式來變通實現。

執行下面的sql語句:

mysql,mssqlserver,db2:

select fname,fweight, cot(fweight) from t_person

oracle:

select fname,fweight,1/tan(fweight) from t_person

mysql 和mssqlserver 中提供了pi()函式用來取得圓周率π值,這個函式不需要使用引數,在oracle和db2中不支援pi()函式,不過根據-1的反余弦值等於π值的這一特性,我們可以用acos(-1)來變通實現。

執行下面的sql語句:

mysql,mssqlserver:

select fname,fweight,fweight *pi() from t_person

oracle,db2:

select fname,fweight,fweight * acos(-1) from t_person

它接受乙個引數,這個引數為待轉換的表示式。在oracle和db2 中不支援這個函式,不過根據:角度制=弧度制*180/π這乙個特性,可以用變通方式來實現。

執行下面的sql語句:

mysql,mssqlserver:

select fname,fweight, degrees(fweight) from t_person

oracle,db2:

select fname,fweight,(fweight*180)/acos(-1) from t_person

它接受乙個引數,這個引數為待轉換的表示式。在oracle和db2 中不支援這個函式,不過根據:弧度制=角度制*π/180這乙個特性,可以用變通方式來實現。

執行下面的sql語句:

mysql,mssqlserver:

select fname,fweight, radians(fweight) from t_person

oracle,db2:

select fname,fweight,(fweight*acos(-1)/180) from t_person

該用來返回乙個數值的符號,如果數值大於0 則返回1,如果數值等於0 則返回0,如果數值小於0 則返回-1。該函式接受乙個引數,這個引數為待求絕對值的表示式。

如:

select fname,fweight-48.68,sign(fweight-48.68) from t_person
mod()函式用來計算兩個數整除後的餘數。該函式接受兩個引數,第乙個引數為除數,而第二個引數則是被除數。

在mysql 和oracle 中提供了對mod()函式的直接支援;

在mssqlserver中不支援mod(),不過mssqlserver中直接提供了操作符「%」用來計算兩個數的整除餘數;

db2中不支援求整除餘數操作。

執行下面的sql語句:

mysql,oracle:

select fname,fweight,mod(fweight , 5) from t_person

mssqlserver:

select fname,fweight,fweight % 5 from t_person

該用來計算乙個數的自然對數值。該函式接受乙個引數,此引數為待計算自然對數的表示式,在oracle中這個函式的名稱為ln()。

執行下面的sql語句:

mysql,mssqlserver,db2:

select fname,fweight, log(fweight) from t_person

oracle:

select fname,fweight, ln(fweight) from t_person

log10()函式用來計算乙個數的以10 為底的對數值。該函式接受乙個引數,此引數為待計算對數的表示式,在oracle中不支援這個函式,不過oracle中有乙個可以計算任意數為底的對數的函式log(m,n),它用來計算以m為底n的對數,我們將m設為常量10 就可以了。

執行下面的sql語句:

mysql,mssqlserver,db2:

select fname,fweight, log10(fweight) from t_person

oracle:

select fname,fweight,log(10,fweight) from t_person

執行下面的sql語句:

select fname,fweight, power(1.18,fweight) from t_person

SQL 標量函式 數學函式

sql 標量函式 數學函式 函式引數功能 asin acos atan float expr 求float expr的反正弦 反余弦 反正切 atn2 float expr1,float expr2 求float expr1 float expr2的反正切 sin cos tan cot float...

SQL系列函式 數學函式

1.abs函式取數值表示式的絕對值 select abs 40 結果是40 2.ceiling函式取大於等於指定表示式的最小整數 select ceiling 40.5 結果是41 3.floor函式取小於等於指定表示式的最大整數 select floor 40.5 結果是40 4.power函式取...

函式 數學函式

數學函式 abs degrees rand acos exp round asin floor sign atan log sin atn2 log10 sqrt ceiling pi square cos power tan cot radians abs 返回指定數值表示式的絕對值 正值 的數學...