说我有如下表行:搜索跨越disperate领域,包含特定字符串
CREATE TABLE #Pig
(
PigName VARCHAR(10),
Field1 VARCHAR(10),
Field2 VARCHAR(10),
Field3 VARCHAR(10),
Field4 VARCHAR(10),
Field5 VARCHAR(10),
Field6 VARCHAR(10),
Field7 VARCHAR(10),
Field8 VARCHAR(10),
Field9 VARCHAR(10),
Field10 VARCHAR(10),
Field11 VARCHAR(10)
)
如果我是来搜索#Pig的所有行字符串“例如”在任何的列我必须使用以下脚本还是有更紧凑的方法来处理 - 也许通过TVP
?
SELECT *
FROM #Pig
WHERE Field1 LIKE '%eg%' OR
Field2 LIKE '%eg%' OR
Field3 LIKE '%eg%' OR
Field4 LIKE '%eg%' OR
Field5 LIKE '%eg%' OR
Field6 LIKE '%eg%' OR
Field7 LIKE '%eg%' OR
Field8 LIKE '%eg%' OR
Field9 LIKE '%eg%' OR
Field10 LIKE '%eg%' OR
Field11 LIKE '%eg%'
注每个字段具有相同的数据类型,但它们实际上并没有连接....所以归一化数据是不是一个解决方案。
AKK第一范式... – gbn
OK - 对不起 - 我需要编辑OP让事情更清晰一点 - 我使用的命名约定只是为了让事情变得更容易写 – whytheq