请参阅下面的数据库表,我创建该表是为了解释我的问题:
CREATE Table Test(id int not null IDENTITY,data varchar(100))
INSERT INTO Test(data) values ('Simon')
INSERT INTO Test(data) values ('David;James;Michael')
请看下面的 SQL 语句:
select *
from Test
where data like '%_James%'
or data like '%James;%'
假设始终使用分号作为分隔符,我相信无论表格单元格中是否存在一个名称或多个名称,都会始终找到 James。
另一位开发人员说,他会将值加载到数组中(在 ASP.NET 或任何编程语言中)并循环遍历数组以找到精确匹配,但是我不认为这一步是必要的,因为“詹姆斯”将永远是成立。这一步有必要吗?