說我有如下表行:搜索跨越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