欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mysql中FIND_IN_SET函數(shù)的使用及問題

 更新時間:2024年07月23日 11:09:15   作者:山茶花開時。  
FIND_IN_SET函數(shù)用于返回字符串str在字符串列表str_list中的位置,本文主要介紹了Mysql中FIND_IN_SET函數(shù)的使用及問題,具有一定的參考價值,感興趣的可以了解一下

FIND_IN_SET函數(shù)用于返回字符串str在字符串列表str_list中的位置,返回一個整數(shù)或一個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 是一個空字符串(""),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

導入數(shù)據

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:  查詢生產皮帶包含red belts的部門信息

SELECT name, belts
FROM divisions
WHERE FIND_IN_SET('red', belts);

結果展示 

問題2:  查詢生產皮帶不包含black belts的部門信息

SELECT name, belts
FROM divisions
WHERE NOT FIND_IN_SET('black', belts);

結果展示

問題3:查找名稱為O-1或O-2的部門 

-- 使用FIND_IN_SET
SELECT name, belts
FROM divisions
WHERE FIND_IN_SET(name, 'O-1,O-2');

-- 使用IN運算符
SELECT name, belts
FROM divisions
WHERE name IN ('O-1','O-2');

結果展示

補充擴展知識: column IN ('x', 'y', 'z')表達式與FIND_IN_SET(column, 'x,y,z')效果相同

當你希望將值與數(shù)據庫中的值列表進行匹配時,可以使用IN運算符; 當你希望將值與數(shù)據庫中以逗號分隔存儲的值列表進行匹配時,可以使用FIND_IN_SET函數(shù)

到此這篇關于Mysql中FIND_IN_SET函數(shù)的使用及問題的文章就介紹到這了,更多相關Mysql FIND_IN_SET函數(shù)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論