您好,登錄后才能下訂單哦!
1、IF(expr1,expr2,expr3)函數:
如果 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、cast() 類型轉換函數:
為了進行數據類型轉化,mysql提供了cast()函數,它可以把一個值轉化為指定的數據類型。
數據類型有:binary,char,date,time,datetime,signed,unsigned
7、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<![](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)、需求:設置分隔符,默認為逗號,設置分隔符@。
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)、需求:設置分隔符,默認為逗號,設置分隔符@。
8、ROUND() 四舍五入函數:
mysql> select round(5.2);
+------------+
| round(5.2) |
+------------+
| 5 |
+------------+
mysql> select round(5.5);
+------------+
| round(5.5) |
+------------+
| 6 |
+------------+
9、left(str, length)從左開始截取字符串 :
說明:left(被截取字段,截取長度)
mysql> select left('123456789',3);
+------------+
| 123 |
+------------+
10、right(str, length)從右開始截取字符串 :
說明:right(被截取字段,截取長度)
mysql> select right('123456789',3);
+------------+
| 789 |
+------------+
11、substring(str, pos,length)截取字符串 :
說明:
substring(被截取字段,從第幾位開始截取)
substring(被截取字段,從第幾位開始截取,截取長度)
mysql> select substring('123456789',3);
+--------------------+
| 3456789 |
+---------------------+
12、LOCATE(substr,str) 或者 POSITION(substr IN str)函數:
函數返回子串substr在字符串str中第一次出現的位置。如果子串substr在str中不存在,返回值為0。
mysql> SELECT LOCATE('bar', 'foobarbar');
-> 4
mysql> SELECT LOCATE('xbar', 'foobar');
-> 0
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。