【发布时间】:2015-01-06 11:44:09
【问题描述】:
问题陈述::
我有一个名为 category 的数据库表,其中包含作为 categoryIds 的列名,下面是 categoryIDs 列中的示例数据
categoryIds = '17,34,400,12'
现在我已经编写了下面的 SQL 查询来找出类别
将@search 声明为 varchar
设置@search='40'
从 categoryIds like '%' + @search + '%' 的类别中选择 *
上面的查询返回结果是错误的,因为 categoryIDs 不包含 40 个类别
【问题讨论】:
-
Normalize 你的表并创建另一个通过外键引用它的表。然后每个值都有一条记录,查询非常简单高效(更不用说sql injection漏洞)。
标签: sql sql-server