溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mysql常用的函數(shù)

發(fā)布時(shí)間:2020-07-01 06:04:27 來(lái)源:網(wǎng)絡(luò) 閱讀:662 作者:lzf05303774 欄目:MySQL數(shù)據(jù)庫(kù)

1、IF(expr1,expr2,expr3)函數(shù):

如果 expr1 是TRUE ,則 IF()的返回值為expr2; 否則返回值則為 expr3。

IF() 的返回值為數(shù)字值或字符串值,具體情況視其所在語(yǔ)境而定。

例:
mysql常用的函數(shù)

2、IFNULL(expr1,expr2)函數(shù):

如果expr1 不為 NULL,則 IFNULL() 的返回值為 expr1; 否則其返回值為 expr2。

IFNULL()的返回值是數(shù)字或是字符串,具體情況取決于其所使用的語(yǔ)境。

mysql常用的函數(shù)
3、CONCAT(str1,str2,...) 函數(shù):
返回結(jié)果為連接參數(shù)產(chǎn)生的字符串。如有任何一個(gè)參數(shù)為NULL ,則返回值為 NULL。
或許有一個(gè)或多個(gè)參數(shù)。 如果所有參數(shù)均為非二進(jìn)制字符串,則結(jié)果為非二進(jìn)制字符串。
如果自變量中含有任一二進(jìn)制字符串,則結(jié)果為一個(gè)二進(jìn)制字符串。
一個(gè)數(shù)字參數(shù)被轉(zhuǎn)化為與之相等的二進(jìn)制字符串格式;
若要避免這種情況,可使用顯式類型 cast,
例如: SELECT CONCAT(CAST(int_col AS CHAR), char_col)
mysql常用的函數(shù)
4、INSTR(str,substr) 函數(shù):
返回字符串 str 中子字符串的第一個(gè)出現(xiàn)位置。如果找不到返回0.
mysql常用的函數(shù)
5、FLOOR(數(shù)值) 取整函數(shù):
mysql常用的函數(shù)

6、cast() 類型轉(zhuǎn)換函數(shù):
為了進(jìn)行數(shù)據(jù)類型轉(zhuǎn)化,mysql提供了cast()函數(shù),它可以把一個(gè)值轉(zhuǎn)化為指定的數(shù)據(jù)類型。
數(shù)據(jù)類型有:binary,char,date,time,datetime,signed,unsigned
mysql常用的函數(shù)
7、group_concat() 類型轉(zhuǎn)換函數(shù):
用法:group_concat([DISTINCT] 要連接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])
mysql常用的函數(shù)
(1)、需求:每個(gè)userid為一行 ,并且每行顯示該userid的所有分?jǐn)?shù)。
SELECT userid,GROUP_CONCAT(score) FROM test GROUP BY userid
mysql常用的函數(shù)
(2)、需求:去重復(fù)score
SELECT userid,GROUP_CONCAT(DISTINCT score) FROM test4 GROUP BY userid
mysql常用的函數(shù)
(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)、需求:設(shè)置分隔符,默認(rèn)為逗號(hào),設(shè)置分隔符@。
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)、需求:設(shè)置分隔符,默認(rèn)為逗號(hào),設(shè)置分隔符@。
mysql常用的函數(shù)

8、ROUND() 四舍五入函數(shù):
mysql> select round(5.2);

+------------+

| round(5.2) |

+------------+

| 5 |

+------------+

mysql> select round(5.5);

+------------+

| round(5.5) |

+------------+

| 6 |

+------------+
9、left(str, length)從左開始截取字符串 :
說(shuō)明:left(被截取字段,截取長(zhǎng)度)
mysql> select left('123456789',3);
+------------+
| 123 |
+------------+
10、right(str, length)從右開始截取字符串 :
說(shuō)明:right(被截取字段,截取長(zhǎng)度)
mysql> select right('123456789',3);
+------------+
| 789 |
+------------+
11、substring(str, pos,length)截取字符串 :
說(shuō)明:
substring(被截取字段,從第幾位開始截?。?
substring(被截取字段,從第幾位開始截取,截取長(zhǎng)度)

mysql> select substring('123456789',3);
+--------------------+
| 3456789 |
+---------------------+

12、LOCATE(substr,str) 或者 POSITION(substr IN str)函數(shù):

函數(shù)返回子串substr在字符串str中第一次出現(xiàn)的位置。如果子串substr在str中不存在,返回值為0。

mysql> SELECT LOCATE('bar', 'foobarbar');

-> 4

mysql> SELECT LOCATE('xbar', 'foobar');

-> 0

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI