MySQL:
成都創(chuàng)新互聯(lián)-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比玉溪網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式玉溪網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋玉溪地區(qū)。費(fèi)用合理售后完善,十多年實(shí)體公司更值得信賴(lài)。
在MySQL中使用FIND_IN_SET( st , str )函數(shù)來(lái)判斷某個(gè)字符串是否包含某字符。其中,st表示需要判斷的字符,str表示相應(yīng)的字符串字段。如果包含,則返回st字符在字符串中的位置,以1為起點(diǎn)。如果不包含,則返回0;
SQLServer:
在SQLServer中使用CHARINDEX(','+ st +','? ,? ','+ str +',')函數(shù)來(lái)判斷某個(gè)字符串是否包含某字符。其中,st表示需要判斷的字符,str表示相應(yīng)的字符串字段。如果包含,則返回st字符在字符串中的位置,以1為起點(diǎn)。如果不包含,則返回0;
注意:在SQLServer函數(shù)中,st必須為字符串,使用int則無(wú)效,如果是數(shù)字類(lèi)型字符,必須使用雙引號(hào)。
SQL LIKE 操作符
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。
SQL LIKE 操作符語(yǔ)法
SELECT?column_name(s)
FROM?table_name
WHERE?column_name?LIKE?pattern
數(shù)據(jù)表結(jié)構(gòu)如下:
表中有如下9條記錄
想把其中M開(kāi)頭的名字提取出來(lái),可以使用SQL語(yǔ)句:
select?*?from?nameinfo?where?name?like?'M%'
提示:"%" 可用于定義通配符(模式中缺少的字母)。
提取name字段中包含某字符串的SQL如下:
select?*?from?nameinfo?where?name?like?'%n%'
表示提取name字段中包含字母‘n’的記錄
DROP TABLE IF EXISTS `test_user`;
CREATE TABLE `test_user`? (
`id` int(11) NOT NULL,
`name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`hobby` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
INSERT INTO `test_user` VALUES (1, 'beibei', 'feifei,guanguan,xiangxiang');
INSERT INTO `test_user`(`id`, `name`, `hobby`) VALUES (2, 'feifei', 'call');
表結(jié)構(gòu)如下:(注意兩個(gè)字符串之間的分割是英文逗號(hào))
參數(shù)一:表示要查詢(xún)的字符串。
參數(shù)二:表示在表中的哪個(gè)字段中查詢(xún),填字段名。
例如:FIND_IN_SET("feifei",hobby)
執(zhí)行結(jié)果如下:
執(zhí)行語(yǔ)句如下:
SELECT * FROM test_user WHERE hobby like '%guanguan%';
執(zhí)行結(jié)果如下: