| 函數(shù)名稱 | 函數(shù)說明 |
|---|---|
ABS() |
返回數(shù)值表達式的絕對值 |
ACOS() |
返回數(shù)值表達式的反余弦值。如果參數(shù)未在[-1, 1]區(qū)間內(nèi),則返回 NULL |
ASIN() |
返回數(shù)值表達式的反正弦值。如果參數(shù)未在[-1, 1]區(qū)間內(nèi),則返回 NULL |
ATAN() |
返回數(shù)值表達式的反正切值 |
ATAN2() |
返回兩個參數(shù)的反正切值 |
BIT_AND() |
返回表達式參數(shù)中的所有二進制位的按位與運算結(jié)果 |
BIT_COUNT() |
返回傳入的二進制值的字符串形式 |
BIT_OR() |
返回表達式參數(shù)中的所有二進制位的按位或運算結(jié)果 |
CEIL() |
返回值為不小于傳入數(shù)值表達式的最小整數(shù)值 |
CEILING() |
同CEIL()返回值為不小于傳入數(shù)值表達式的最小整數(shù)值 |
CONV() |
轉(zhuǎn)換數(shù)值表達式的進制 |
COS() |
返回所傳入數(shù)值表達式(以弧度計)的余弦值 |
COT() |
返回所傳入數(shù)值表達式的余切值 |
DEGREES() |
將數(shù)值表達式參數(shù)從弧度值轉(zhuǎn)變?yōu)榻嵌戎?/td> |
EXP() |
返回以e(自然對數(shù)的底數(shù))為底,以所傳入的數(shù)值表達式為指數(shù)的冪 |
FLOOR() |
返回不大于所傳入數(shù)值表達式的最大整數(shù) |
FORMAT() |
將數(shù)值表達式參數(shù)四舍五入到一定的小數(shù)位 |
GREATEST() |
返回傳入?yún)?shù)的最大值 |
INTERVAL() |
比較所傳入的多個表達式:expr1、expr2、expr3……,如果 expr1 < expr2,則返回0;如果 expr1 < expr3,則返回1……以此類推 |
LEAST() |
返回傳入?yún)?shù)中的最小值 |
LOG() |
返回傳入數(shù)值表達式的自然對數(shù) |
LOG10() |
返回傳入數(shù)值表達式的常用對數(shù)(以10為底的對數(shù)) |
MOD() |
返回參數(shù)相除的余數(shù) |
OCT() |
返回傳入數(shù)值表達式的八進制數(shù)值的字符串表現(xiàn)形式。如果傳入值為 NULL,則返回 NULL |
PI() |
返回 π 值 |
POW() |
返回兩個參數(shù)的冪運算結(jié)果,其中一個參數(shù)為底,另一個參數(shù)為它的指數(shù)。 |
POWER() |
返回兩個參數(shù)的冪運算結(jié)果,其中一個參數(shù)為底,另一個參數(shù)為它的指數(shù)。 |
RADIANS() |
將參數(shù)由角度值轉(zhuǎn)換成弧度值 |
ROUND() |
將所傳入數(shù)值表達式四舍五入為整數(shù)。也可以用來將參數(shù)四舍五入到一定的小數(shù)位 |
SIN() |
返回參數(shù)(以弧度計)的正弦值 |
SQRT() |
返回參數(shù)的非負平方根 |
STD() |
返回參數(shù)的標準方差值 |
STDDEV() |
返回參數(shù)的標準方差值 |
TAN() |
返回參數(shù)(以弧度計)的正切值 |
TRUNCATE() |
將數(shù)值參數(shù) expr1 的小數(shù)位截取到 expr2 位如果 expr2 為0,則結(jié)果沒有小數(shù)位。 |
返回參數(shù) X 的絕對值。如下例所示:
mysql> SELECT ABS(2);
+---------------------------------------------------------+
| ABS(2) |
+---------------------------------------------------------+
| 2 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT ABS(-2);
+---------------------------------------------------------+
| ABS(2) |
+---------------------------------------------------------+
| 2 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
返回參數(shù) X 的反余弦值。參數(shù) X 的取值區(qū)間為 [-1, 1],如果不在該區(qū)間內(nèi),則返回 NULL 值。實例如下:
mysql> SELECT ACOS(1);
+---------------------------------------------------------+
| ACOS(1) |
+---------------------------------------------------------+
| 0.000000 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
返回參數(shù) X 的反正弦值。參數(shù) X 的取值區(qū)間為 [-1, 1],如果不在該區(qū)間內(nèi),則返回 NULL 值。實例如下:
mysql> SELECT ASIN(1);
+---------------------------------------------------------+
| ASIN(1) |
+---------------------------------------------------------+
| 1.5707963267949 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
返回參數(shù) X 的反正切值。
mysql> SELECT ATAN(1);
+---------------------------------------------------------+
| ATAN(1) |
+---------------------------------------------------------+
| 0.78539816339745 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
返回兩個參數(shù) X 與 Y 的反正切值,類似于 Y/X 的反正切值,但兩個參數(shù)的符號是用來確定所得結(jié)果的象限的。
mysql> SELECT ATAN2(3,6);
+---------------------------------------------------------+
| ATAN2(3,6) |
+---------------------------------------------------------+
| 0.46364760900081 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
返回表達式參數(shù) expression 中的所有二進制位的按位與運算結(jié)果。按位與運算的規(guī)則是這樣的:如果兩個同等位都是同樣值(0或1),則返回1,否則返回0。函數(shù)本身返回的是一個64位的整形值,如果沒有匹配項,則返回18446744073709551615。在下面的示例中,對表 CARS 按照Maker 字段進行分組, 然后再對 PRICE(價格)字段執(zhí)行 BIT_AND() 函數(shù)。
mysql> SELECT
MAKER, BIT_AND(PRICE) BITS
FROM CARS GROUP BY MAKER
+---------------------------------------------------------+
|MAKER BITS |
+---------------------------------------------------------+
|CHRYSLER 512 |
|FORD 12488 |
|HONDA 2144 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
該函數(shù)會將參數(shù) numeric_value 轉(zhuǎn)化成二進制數(shù),然后再返回這個二進制數(shù)中1的個數(shù)。下例展示了如何對一些數(shù)使用BIT_COUNT() 函數(shù)。
mysql> SELECT
BIT_COUNT(2) AS TWO,
BIT_COUNT(4) AS FOUR,
BIT_COUNT(7) AS SEVEN
+-----+------+-------+
| TWO | FOUR | SEVEN |
+-----+------+-------+
| 1 | 1 | 3 |
+-----+------+-------+
1 row in set (0.00 sec)
按位或運算函數(shù)。返回表達式參數(shù) expression 中所有位的按位或運算結(jié)果。其中的基本原理是:如果相對應(yīng)的位匹配(就是相同的意思,同為0或1),則返回0,否則返回1。函數(shù)本身返回的是一個64位的整形數(shù)值,如果記錄并不匹配,則返回0。下例將對對 CARS 表按照 Maker 分組,然后對 PRICE 字段執(zhí)行 BIT_OR() 函數(shù)。
mysql> SELECT
MAKER, BIT_OR(PRICE) BITS
FROM CARS GROUP BY MAKER
+---------------------------------------------------------+
|MAKER BITS |
+---------------------------------------------------------+
|CHRYSLER 62293 |
|FORD 16127 |
|HONDA 32766 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
返回不小于 X 的最小整型值。示例如下:
mysql> SELECT CEILING(3.46);
+---------------------------------------------------------+
| CEILING(3.46) |
+---------------------------------------------------------+
| 4 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT CEIL(-6.43);
+---------------------------------------------------------+
| CEIL(-6.43) |
+---------------------------------------------------------+
| -6 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
該函數(shù)用于在不同進制間轉(zhuǎn)換數(shù)值。將數(shù)值 N 從 初始進制參數(shù) from_base 轉(zhuǎn)換為目標進制參數(shù) to_base,然后以字符串的形式返回。該函數(shù)可使用的進制范圍為2-36。如果函數(shù)參數(shù)中有一個為 NULL 值,則函數(shù)返回 NULL。下例中,將16進制數(shù)5轉(zhuǎn)換為了2進制數(shù)101。
mysql> SELECT CONV(5,16,2);
+---------------------------------------------------------+
| CONV(5,16,2) |
+---------------------------------------------------------+
| 101 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
以弧度值形式返回 X 的余弦值。示例如下:
mysql>SELECT COS(90);
+---------------------------------------------------------+
| COS(90) |
+---------------------------------------------------------+
| -0.44807361612917 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
返回 X 的余切值。示例如下:
mysql>SELECT COT(1);
+---------------------------------------------------------+
| COT(1) |
+---------------------------------------------------------+
| 0.64209261593433 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
將 X 從弧度值轉(zhuǎn)換為角度值。示例如下:
mysql>SELECT DEGREES(PI());
+---------------------------------------------------------+
| DEGREES(PI()) |
+---------------------------------------------------------+
| 180.000000 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
返回 e(自然對數(shù)的底數(shù))的 X 次冪。示例如下:
mysql>SELECT EXP(3);
+---------------------------------------------------------+
| EXP(3) |
+---------------------------------------------------------+
| 20.085537 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
返回不大于 X 的最大整形數(shù)值。
mysql>SELECT FLOOR(7.55);
+---------------------------------------------------------+
| FLOOR(7.55) |
+---------------------------------------------------------+
| 7 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
將數(shù)值 X 以下列格式進行格式化:###,###,###.##,并將小數(shù)位縮減到 D 位。示例如下:
mysql>SELECT FORMAT(423423234.65434453,2);
+---------------------------------------------------------+
| FORMAT(423423234.65434453,2) |
+---------------------------------------------------------+
| 423,423,234.65 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
返回 n1、n2、n3等一系列參數(shù)中的最大值。示例如下:
mysql>SELECT GREATEST(3,5,1,8,33,99,34,55,67,43);
+---------------------------------------------------------+
| GREATEST(3,5,1,8,33,99,34,55,67,43) |
+---------------------------------------------------------+
| 99 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
將第一個參數(shù) N 與后續(xù)的一列參數(shù) N1、N2、N3 等一一進行比對。返回結(jié)果規(guī)則為:如果N < N1,返回0;如果 N < N2,則返回1;如果N < N3則返回2……以此類推。如果N為NULL,則返回-1。參數(shù)列表 N1、N2、N3……必須滿足N1 < N2 < N3……才能正常執(zhí)行本函數(shù)。示例如下:
mysql>SELECT INTERVAL(6,1,2,3,4,5,6,7,8,9,10);
+---------------------------------------------------------+
| INTERVAL(6,1,2,3,4,5,6,7,8,9,10) |
+---------------------------------------------------------+
| 6 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
注意,6是在后續(xù)參數(shù)列表中,第一個大于 N 的值所對應(yīng)的索引(參數(shù)列表的初始索引為0)。所以,在我們這個例子中,7正是這個大于 N 的值,它的索引卻是6。
該函數(shù)是 GREATEST() 函數(shù)的逆向函數(shù),返回 N1、N2、N3、N4 等值的最小值。示例如下:
mysql>SELECT LEAST(3,5,1,8,33,99,34,55,67,43);
+---------------------------------------------------------+
| LEAST(3,5,1,8,33,99,34,55,67,43) |
+---------------------------------------------------------+
| 1 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
單參數(shù) X 版本的函數(shù)返回 X 的自然對數(shù)。雙參數(shù)版本的函數(shù)將返回以 B 為底 X 的對數(shù)。示例如下:
mysql>SELECT LOG(45);
+---------------------------------------------------------+
| LOG(45) |
+---------------------------------------------------------+
| 3.806662 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
mysql>SELECT LOG(2,65536);
+---------------------------------------------------------+
| LOG(2,65536) |
+---------------------------------------------------------+
| 16.000000 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
返回以10為底的 X 的對數(shù)(即常用對數(shù)lg)。
mysql>SELECT LOG10(100);
+---------------------------------------------------------+
| LOG10(100) |
+---------------------------------------------------------+
| 2.000000 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
返回 N 除以 M 的余數(shù)。示例如下:
mysql>SELECT MOD(29,3);
+---------------------------------------------------------+
| MOD(29,3) |
+---------------------------------------------------------+
| 2 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
以字符串形式返回八進制數(shù) N,作用相當于 CONV(N,10,8)。示例如下:
mysql>SELECT OCT(12);
+---------------------------------------------------------+
| OCT(12) |
+---------------------------------------------------------+
| 14 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
返回 π 值。MySQL 所存儲的 π 值為雙精度浮點值。
mysql>SELECT PI();
+---------------------------------------------------------+
| PI() |
+---------------------------------------------------------+
| 3.141593 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
這兩個函數(shù)都能返回 X 的 Y 次冪。示例如下:
mysql> SELECT POWER(3,3);
+---------------------------------------------------------+
| POWER(3,3) |
+---------------------------------------------------------+
| 27 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
將角度值 X 轉(zhuǎn)換成弧度值返回。示例如下:
mysql>SELECT RADIANS(90);
+---------------------------------------------------------+
| RADIANS(90) |
+---------------------------------------------------------+
|1.570796 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
將 X 四舍五入,返回最接近 X 的整數(shù)。如果傳入第二個參數(shù) D,則函數(shù)會將 X 四舍五入到 小數(shù)點后的 D 位。D 必須為正值,否則小數(shù)點后所有數(shù)值都將被清除。示例如下:
mysql>SELECT ROUND(5.693893);
+---------------------------------------------------------+
| ROUND(5.693893) |
+---------------------------------------------------------+
| 6 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
mysql>SELECT ROUND(5.693893,2);
+---------------------------------------------------------+
| ROUND(5.693893,2) |
+---------------------------------------------------------+
| 5.69 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
返回 X 的符號(表明 X 究竟是負數(shù)、0還是正數(shù)的符號):-1、0、1。
mysql>SELECT SIGN(-4.65);
+---------------------------------------------------------+
| SIGN(-4.65) |
+---------------------------------------------------------+
| -1 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
mysql>SELECT SIGN(0);
+---------------------------------------------------------+
| SIGN(0) |
+---------------------------------------------------------+
| 0 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
mysql>SELECT SIGN(4.65);
+---------------------------------------------------------+
| SIGN(4.65) |
+---------------------------------------------------------+
| 1 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
返回 X 的正弦值。示例如下:
mysql>SELECT SIN(90);
+---------------------------------------------------------+
| SIN(90) |
+---------------------------------------------------------+
| 0.893997 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
返回 X 的非負數(shù)平方根。示例如下:
mysql>SELECT SQRT(49);
+---------------------------------------------------------+
| SQRT(49) |
+---------------------------------------------------------+
| 7 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
返回表達式 expression 的標準偏差值。等于取 VARIANCE(expression) 的平方根。以下范例計算 CARS 表中 PRICE 列的標準偏差。
mysql>SELECT STD(PRICE) STD_DEVIATION FROM CARS;
+---------------------------------------------------------+
| STD_DEVIATION |
+---------------------------------------------------------+
| 7650.2146 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
返回參數(shù) X (以弧度表示)的正切值。示例如下:
mysql>SELECT TAN(45);
+---------------------------------------------------------+
| TAN(45) |
+---------------------------------------------------------+
| 1.619775 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
X 值的小數(shù)位被截取到 D 位。如果 D 為0,則 X 無小數(shù)位。如果 D 為負值,則將把 X 整數(shù)部分末位 D 位數(shù)值清除為0。以上運算均為清除,非四舍五入。示例如下:
mysql>SELECT TRUNCATE(7.536432,2);
+---------------------------------------------------------+
| TRUNCATE(7.536432,2) |
+---------------------------------------------------------+
| 7.53 |
+---------------------------------------------------------+
1 row in set (0.00 sec)