sql: SELECT CONCAT(ROUND((66/100)*100,2),'%') AS '百分比';mysql
myqsl在線文檔sql
所用到函數:api
ROUND:(如下來自官方文檔)函數
- ROUND(X) ROUND(X,D)
-
返回參數X, 其值接近於最近似的整數。在有兩個參數的狀況下,返回 X ,其值保留到小數點後D位,而第D位的保留方式爲四捨五入。若要接保留X值小數點左邊的D 位,可將 D 設爲負值。 .net
-
mysql> SELECT ROUND(-1.23);文檔
-> -1字符串
mysql> SELECT ROUND(-1.58);get
-> -2數學
mysql> SELECT ROUND(1.58);it
-> 2
mysql> SELECT ROUND(1.298, 1);
-> 1.3
mysql> SELECT ROUND(1.298, 0);
-> 1
mysql> SELECT ROUND(23.298, -1);
-> 20
返回值的類型同 第一個自變量相同(假設它是一個整數、雙精度數或小數)。這意味着對於一個整數參數,結果也是一個整數(無小數部分)。
當第一個參數是十進制常數時,對於準確值參數,ROUND() 使用精密數學題庫:
- 對於準確值數字, ROUND() 使用「四捨五入」 或「舍入成最接近的數」 的規則:對於一個分數部分爲 .5或大於 .5的值,正數則上舍入到鄰近的整數值, 負數則下舍入臨近的整數值。(換言之, 其舍入的方向是數軸上遠離零的方向)。對於一個分數部分小於.5 的值,正數則下舍入下一個整數值,負數則下舍入鄰近的整數值,而正數則上舍入鄰近的整數值。
- 對於近似值數字,其結果根據C 庫而定。在不少系統中,這意味着 ROUND()的使用遵循「舍入成最接近的偶數」的規則: 一個帶有任何小數部分的值會被舍入成最接近的偶數整數。
如下舉例說明舍入法對於精確值和近似值的不一樣之處:
mysql> SELECT ROUND(2.5), ROUND(25E-1);
+------------+--------------+
| ROUND(2.5) | ROUND(25E-1) |
+------------+--------------+
| 3 | 2 |
+------------+--------------+
=========================================================================================================================================================================================================
CONCAT: (我的理解)字符串拼接,例如:select concat('AAA','BBB');查詢結果爲:AAABBB
(如下來自官方文檔)
CONCAT(str1,str2,...)
返回結果爲鏈接參數產生的字符串。若有任何一個參數爲NULL ,則返回值爲 NULL。或許有一個或多個參數。 若是全部參數均爲非二進制字符串,則結果爲非二進制字符串。 若是自變量中含有任一二進制字符串,則結果爲一個二進制字符串。一個數字參數被轉化爲與之相等的二進制字符串格式;若要避免這種狀況,可以使用顯式類型 cast, 例如: SELECT CONCAT(CAST(int_col AS CHAR), char_col)
mysql> SELECT CONCAT('My', 'S', 'QL');
-> 'MySQL'
mysql> SELECT CONCAT('My', NULL, 'QL');
-> NULL
mysql> SELECT CONCAT(14.3);
-> '14.3'
- CONCAT_WS(separator,str1,str2,...)
CONCAT_WS() 表明 CONCAT With Separator ,是CONCAT()的特殊形式。 第一個參數是其它參數的分隔符。分隔符的位置放在要鏈接的兩個字符串之間。分隔符能夠是一個字符串,也能夠是其它參數。若是分隔符爲 NULL,則結果爲 NULL。函數會忽略任何分隔符參數後的 NULL 值。
mysql> SELECT CONCAT_WS(',','First name','Second name','Last Name');
-> 'First name,Second name,Last Name'
mysql> SELECT CONCAT_WS(',','First name',NULL,'Last Name');
-> 'First name,Last Name'
CONCAT_WS()不會忽略任何空字符串。 (然而會忽略全部的 NULL)。