一、IF(expr1,expr2,expr3)函數:mysql
若是 expr1 是TRUE ,則 IF()的返回值爲expr2; 不然返回值則爲 expr3。sql
IF() 的返回值爲數字值或字符串值,具體狀況視其所在語境而定。ide
例:
函數
二、IFNULL(expr1,expr2)函數:code
若是expr1 不爲 NULL,則 IFNULL() 的返回值爲 expr1; 不然其返回值爲 expr2。blog
IFNULL()的返回值是數字或是字符串,具體狀況取決於其所使用的語境。 排序
三、CONCAT(str1,str2,...) 函數:
返回結果爲鏈接參數產生的字符串。若有任何一個參數爲NULL ,則返回值爲 NULL。
或許有一個或多個參數。 若是全部參數均爲非二進制字符串,則結果爲非二進制字符串。
若是自變量中含有任一二進制字符串,則結果爲一個二進制字符串。
一個數字參數被轉化爲與之相等的二進制字符串格式;
若要避免這種狀況,可以使用顯式類型 cast,
例如: SELECT CONCAT(CAST(int_col AS CHAR), char_col)
四、INSTR(str,substr) 函數:
返回字符串 str 中子字符串的第一個出現位置。若是找不到返回0.
五、FLOOR(數值) 取整函數:
字符串
六、cast() 類型轉換函數:
爲了進行數據類型轉化,mysql提供了cast()函數,它能夠把一個值轉化爲指定的數據類型。
數據類型有:binary,char,date,time,datetime,signed,unsigned
七、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<br/>![](https://s1.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)、需求:設置分隔符,默認爲逗號,設置分隔符@。
SELECT userid,GROUP_CONCAT(score SEPARATOR '@') FROM test4 GROUP BY userid
get
八、ROUND() 四捨五入函數:
mysql> select round(5.2);string
+------------+
| round(5.2) |
+------------+
| 5 |
+------------+
mysql> select round(5.5);
+------------+
| round(5.5) |
+------------+
| 6 |
+------------+
九、left(str, length)從左開始截取字符串 :
說明:left(被截取字段,截取長度)
mysql> select left('123456789',3);
+------------+
| 123 |
+------------+
十、right(str, length)從右開始截取字符串 :
說明:right(被截取字段,截取長度)
mysql> select right('123456789',3);
+------------+
| 789 |
+------------+
十一、substring(str, pos,length)截取字符串 :
說明:
substring(被截取字段,從第幾位開始截取)
substring(被截取字段,從第幾位開始截取,截取長度)
mysql> select substring('123456789',3);
+--------------------+
| 3456789 |
+---------------------+
十二、LOCATE(substr,str) 或者 POSITION(substr IN str)函數:
函數返回子串substr在字符串str中第一次出現的位置。若是子串substr在str中不存在,返回值爲0。
mysql> SELECT LOCATE('bar', 'foobarbar');
-> 4
mysql> SELECT LOCATE('xbar', 'foobar');
-> 0