Mysql中FIND_IN_SET函數(shù)的使用及問題
FIND_IN_SET函數(shù)用于返回字符串str在字符串列表str_list中的位置,返回一個(gè)整數(shù)或一個(gè)NULL值
語法格式
FIND_IN_SET(str,str_list)
str: 需要查詢的字符串
str_list: 需要查詢的字符串列表,參數(shù)以","分隔,形式如 (1,2,6,8,10,22)
提示Tips
① 如果在 str_list 中沒有找到 str,F(xiàn)IND_IN_SET函數(shù)返回 0
② 如果 str 或 str_list 為 NULL,F(xiàn)IND_IN_SET函數(shù)返回 NULL
③ 如果 str_list 是一個(gè)空字符串(""),F(xiàn)IND_IN_SET函數(shù)函數(shù)返回 0
示例1
-- 1 SELECT FIND_IN_SET("a", "a"); -- 3 SELECT FIND_IN_SET("c", "a,b,c,c,d"); -- 0 SELECT FIND_IN_SET("a", "s,q,l"); -- 0 SELECT FIND_IN_SET("q", ""); -- 5 SELECT FIND_IN_SET("o", "h,e,l,l,o"); -- Null SELECT FIND_IN_SET("q", null); -- Null SELECT FIND_IN_SET(null, "s,q,l");
示例2
導(dǎo)入數(shù)據(jù)
DROP TABLE IF EXISTS `divisions`; CREATE TABLE `divisions` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(25) NOT NULL, `belts` varchar(200) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4; INSERT INTO `divisions` VALUES ('1', 'O-1', 'white,yellow,orange'); INSERT INTO `divisions` VALUES ('2', 'O-2', 'purple,green,blue'); INSERT INTO `divisions` VALUES ('3', 'O-3', 'brown,red,black'); INSERT INTO `divisions` VALUES ('4', 'O-4', 'white,yellow,orange'); INSERT INTO `divisions` VALUES ('5', 'O-5', 'purple,green,blue'); INSERT INTO `divisions` VALUES ('6', 'O-6', 'brown,red'); INSERT INTO `divisions` VALUES ('7', 'O-7', 'black'); INSERT INTO `divisions` VALUES ('8', 'O-8', 'white,yellow,orange'); INSERT INTO `divisions` VALUES ('9', 'O-9', 'purple,green,blue'); INSERT INTO `divisions` VALUES ('10', 'O-10', 'brown,red');
divisions表
問題1: 查詢生產(chǎn)皮帶包含red belts的部門信息
SELECT name, belts FROM divisions WHERE FIND_IN_SET('red', belts);
結(jié)果展示
問題2: 查詢生產(chǎn)皮帶不包含black belts的部門信息
SELECT name, belts FROM divisions WHERE NOT FIND_IN_SET('black', belts);
結(jié)果展示
問題3:查找名稱為O-1或O-2的部門
-- 使用FIND_IN_SET SELECT name, belts FROM divisions WHERE FIND_IN_SET(name, 'O-1,O-2'); -- 使用IN運(yùn)算符 SELECT name, belts FROM divisions WHERE name IN ('O-1','O-2');
結(jié)果展示
補(bǔ)充擴(kuò)展知識(shí): column IN ('x', 'y', 'z')表達(dá)式與FIND_IN_SET(column, 'x,y,z')效果相同
當(dāng)你希望將值與數(shù)據(jù)庫中的值列表進(jìn)行匹配時(shí),可以使用IN運(yùn)算符; 當(dāng)你希望將值與數(shù)據(jù)庫中以逗號(hào)分隔存儲(chǔ)的值列表進(jìn)行匹配時(shí),可以使用FIND_IN_SET函數(shù)
到此這篇關(guān)于Mysql中FIND_IN_SET函數(shù)的使用及問題的文章就介紹到這了,更多相關(guān)Mysql FIND_IN_SET函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- MySQL的FIND_IN_SET函數(shù)使用方法分享
- Mysql中的find_in_set的使用方法介紹
- Mysql中FIND_IN_SET()和IN區(qū)別簡(jiǎn)析
- mysql通過find_in_set()函數(shù)實(shí)現(xiàn)where in()順序排序
- MySQL中find_in_set()函數(shù)用法示例詳解
- MySQL之FIND_IN_SET()的用法及說明
- Mysql中find_in_set()函數(shù)用法詳解以及使用場(chǎng)景
- mysql查詢FIND_IN_SET?REGEXP實(shí)踐示例
- MySQL中的FIND_IN_SET函數(shù)的使用場(chǎng)景
- mysql中find_in_set()函數(shù)用法及自定義增強(qiáng)函數(shù)詳解
- MySQL FIND_IN_SET函數(shù)的使用場(chǎng)景
相關(guān)文章
mysql中如何去除小數(shù)點(diǎn)后面多余的0
這篇文章主要介紹了mysql 中去除小數(shù)點(diǎn)后面多余的0的方法 ,需要的朋友可以參考下2014-03-03Linux安裝Mysql8.0.20并配置主從復(fù)制(一主一從,雙主雙從)
本文主要介紹了Linux安裝Mysql8.0.20并配置主從復(fù)制,包含一主一從和雙主雙從,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-06-06規(guī)范化的SQL數(shù)據(jù)修改語句總結(jié)
本文將提供一些標(biāo)準(zhǔn)的SQL句,可供一些有需求的朋友參考2012-11-11openEuler?RPM方式安裝MySQL8的實(shí)現(xiàn)
本文主要介紹了openEuler?RPM方式安裝MySQL8的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01

Mysql 5.7.19 免安裝版配置方法教程詳解(64位)

mysql出現(xiàn)Error performing load command的解決方法