重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
MySQL:
创新互联公司于2013年成立,是专业互联网技术服务公司,拥有项目成都网站建设、成都网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元磐安做网站,已为上家服务,为磐安各地企业和个人服务,联系电话:028-86922220
在MySQL中使用FIND_IN_SET( st , str )函数来判断某个字符串是否包含某字符。其中,st表示需要判断的字符,str表示相应的字符串字段。如果包含,则返回st字符在字符串中的位置,以1为起点。如果不包含,则返回0;
SQLServer:
在SQLServer中使用CHARINDEX(','+ st +',' , ','+ str +',')函数来判断某个字符串是否包含某字符。其中,st表示需要判断的字符,str表示相应的字符串字段。如果包含,则返回st字符在字符串中的位置,以1为起点。如果不包含,则返回0;
注意:在SQLServer函数中,st必须为字符串,使用int则无效,如果是数字类型字符,必须使用双引号。
Mysql字符串字段,判断是否包含某个字符串,就是用like命令就可以查出来了的,比如下面的实例参考:
SELECT * FROM xxx SCHOOL yyy LIKE '%学%'
意思是查询学校这张表名字带有学字的同学。
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%';
执行结果如下:
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’的记录