mysql常用的函數
阿新 • • 發佈:2018-08-14
數值 多個參數 如果 group by concat ron sha 分數 cas 1、IF(expr1,expr2,expr3)函數:
或許有一個或多個參數。 如果所有參數均為非二進制字符串,則結果為非二進制字符串。
如果自變量中含有任一二進制字符串,則結果為一個二進制字符串。
一個數字參數被轉化為與之相等的二進制字符串格式;
若要避免這種情況,可使用顯式類型 cast,
例如: SELECT CONCAT(CAST(int_col AS CHAR), char_col)
4、INSTR(str,substr) 函數:
返回字符串 str 中子字符串的第一個出現位置。如果找不到返回0.
5、FLOOR(數值) 取整函數:
6、LEFT(數值) 字符串截取函數:
7、cast() 類型轉換函數:
為了進行數據類型轉化,mysql提供了cast()函數,它可以把一個值轉化為指定的數據類型。
數據類型有:binary,char,date,time,datetime,signed,unsigned
8、group_concat() 類型轉換函數:
用法:group_concat([DISTINCT] 要連接的字段 [Order BY ASC/DESC 排序字段] [Separator ‘分隔符‘])
(1)、需求:每個userid為一行 ,並且每行顯示該userid的所有分數。
SELECT userid,GROUP_CONCAT(score) FROM test GROUP BY userid
(2)、需求:去重復score
SELECT userid,GROUP_CONCAT(DISTINCT score) FROM test4 GROUP BY userid
(3)、需求:排序score
SELECT userid,GROUP_CONCAT(score ORDER BY score DESC) FROM test4 GROUP BY userid<![](http://i2.51cto.com/images/blog/201806/26/e0f7d8d844207b743474e25c90891f93.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
(4)、需求:設置分隔符,默認為逗號,設置分隔符@。
br/>![](http://i2.51cto.com/images/blog/201806/26/e0f7d8d844207b743474e25c90891f93.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
(4)、需求:設置分隔符,默認為逗號,設置分隔符@。
如果 expr1 是TRUE ,則 IF()的返回值為expr2; 否則返回值則為 expr3。
IF() 的返回值為數字值或字符串值,具體情況視其所在語境而定。
例:
2、IFNULL(expr1,expr2)函數:
如果expr1 不為 NULL,則 IFNULL() 的返回值為 expr1; 否則其返回值為 expr2。
IFNULL()的返回值是數字或是字符串,具體情況取決於其所使用的語境。
3、CONCAT(str1,str2,...) 函數:
返回結果為連接參數產生的字符串。如有任何一個參數為NULL ,則返回值為 NULL。
如果自變量中含有任一二進制字符串,則結果為一個二進制字符串。
一個數字參數被轉化為與之相等的二進制字符串格式;
若要避免這種情況,可使用顯式類型 cast,
例如: SELECT CONCAT(CAST(int_col AS CHAR), char_col)
4、INSTR(str,substr) 函數:
返回字符串 str 中子字符串的第一個出現位置。如果找不到返回0.
5、FLOOR(數值) 取整函數:
6、LEFT(數值) 字符串截取函數:
7、cast() 類型轉換函數:
為了進行數據類型轉化,mysql提供了cast()函數,它可以把一個值轉化為指定的數據類型。
8、group_concat() 類型轉換函數:
用法:group_concat([DISTINCT] 要連接的字段 [Order BY ASC/DESC 排序字段] [Separator ‘分隔符‘])
(1)、需求:每個userid為一行 ,並且每行顯示該userid的所有分數。
SELECT userid,GROUP_CONCAT(score) FROM test GROUP BY userid
(2)、需求:去重復score
SELECT userid,GROUP_CONCAT(DISTINCT score) FROM test4 GROUP BY userid
(3)、需求:排序score
SELECT userid,GROUP_CONCAT(score ORDER BY score DESC) FROM test4 GROUP BY userid<![](http://i2.51cto.com/images/blog/201806/26/e0f7d8d844207b743474e25c90891f93.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
(4)、需求:設置分隔符,默認為逗號,設置分隔符@。
br/>![](http://i2.51cto.com/images/blog/201806/26/e0f7d8d844207b743474e25c90891f93.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
(4)、需求:設置分隔符,默認為逗號,設置分隔符@。
9、ROUND() 四舍五入函數:
mysql> select round(5.2);
+------------+
| round(5.2) |
+------------+
| 5 |
+------------+
mysql> select round(5.5);
+------------+
| round(5.5) |
+------------+
| 6 |
+------------+
mysql常用的函數