http://www.voidcn.com/article/p-gmvusbbi-bub.html
我這里有三個字段的樣本表.
TableA
FieldA FieldB FieldC
======================================
123XYZ456 XYZ John
124NNN333 NNN Jenny
232XPT124 XPT Jade
456XXX345 XXX James
FieldA的固定長度為9.我沒有設計這個表,有些應用程序已經在使用它.
我想選擇具有針對FieldA的條件的FieldB和FieldC.
使用這個sql語句:
SELECT FieldB, FieldC FROM TableA WHERE FieldA LIKE Concat(@paramA, '%', @paramB)
我無法達到我想要的結果.當我嘗試使用paramA值12和paramB值”進行搜索時,我得到2個結果:
FieldA FieldB FieldC
======================================
123XXX456 XXX John
124XXX333 XXX Jenny
因為很明顯它與12%匹配,這不是我想要的.我希望params應該匹配字符串的正確索引.
如果我搜索paramA =’12’和paramB =”那么它應該沒有結果.要獲取字段(FieldB,FieldC),我需要正確的paramA =’123’和paramB =’456’的值,因此它將返回XYZ和John.如果我想要歸還詹姆斯那么我必須給paramA =’456’和paramB =’345′
我怎樣才能為此正確構建SQL語句?任何的想法?謝謝.