MySQL:
成都创新互联-专业网站定制、快速模板网站建设、高性价比玉溪网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式玉溪网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖玉溪地区。费用合理售后完善,十多年实体公司更值得信赖。
在MySQL中使用FIND_IN_SET( st , str )函数来判断某个字符串是否包含某字符。其中,st表示需要判断的字符,str表示相应的字符串字段。如果包含,则返回st字符在字符串中的位置,以1为起点。如果不包含,则返回0;
SQLServer:
在SQLServer中使用CHARINDEX(','+ st +',' , ','+ str +',')函数来判断某个字符串是否包含某字符。其中,st表示需要判断的字符,str表示相应的字符串字段。如果包含,则返回st字符在字符串中的位置,以1为起点。如果不包含,则返回0;
注意:在SQLServer函数中,st必须为字符串,使用int则无效,如果是数字类型字符,必须使用双引号。
SQL LIKE 操作符
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。
SQL LIKE 操作符语法
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern
数据表结构如下:
表中有如下9条记录
想把其中M开头的名字提取出来,可以使用SQL语句:
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');
表结构如下:(注意两个字符串之间的分割是英文逗号)
参数一:表示要查询的字符串。
参数二:表示在表中的哪个字段中查询,填字段名。
例如:FIND_IN_SET("feifei",hobby)
执行结果如下:
执行语句如下:
SELECT * FROM test_user WHERE hobby like '%guanguan%';
执行结果如下: