我正在使用一個存儲過程,它引入一個字符串參數,並將其用作其查詢之一的WHERE table.value LIKE @pattern
子句的一部分。在任何人跳過我的喉嚨關於這種調用的危險之前,該過程被稱爲具有一組已知值中的一個作爲模式參數 - 沒有從用戶輸入到該參數的直接傳遞。匹配SQL Server LIKE中的複雜模式?
對於個別情況,這是有效的。我可能的模式是:
"RBI-%-TH%N-[AB]-%"
"RBI-%-TH%N-C-%"
"RBI-%-TH%N-D-%"
"RBI-%-VISUAL%"
當我遇到的一個問題是在試圖通過設置默認模式(這將選擇其中table.value
匹配任何這些模式的所有記錄,以覆蓋那些所有四個,但沒有別的)。前三個很容易與"RBI-%-TH%N-[ABCD]-%"
但我一直沒能找到一個好的方法來說明最終的可能值。有沒有一種好的方法,還是我需要用邏輯來處理這種情況使存儲過程複雜化?
如果我必須走那條路,我會的。我希望能夠用一種模式來覆蓋這兩種情況。還有更多的東西進入到這個過程中,如果我只傳入一個模式參數,它會讓事情變得更簡單。 – 2013-03-18 23:08:42