我使用MS SQL 2008和我有一个来自这样一个状态字段:如何过滤SQL查询购买完全匹配字符串?
"REF CNF PCNF REL"
我需要得到所有状态CNF
的订单,而无需返回PCNF
。 我可以在WHERE STATUS LIKE '% CNF %'
之前和之后使用空格,但如果CNF是第一个或最后一个状态,它将起作用。该工作
一个解决办法是:
WHERE
PATINDEX('CNF %',STATUS)=0 AND
PATINDEX('% CNF %',STATUS)=0 AND
PATINDEX('% CNF',STATUS)=0
但是,这仅仅是可怕的。 谢谢,
你应该将状态字段标准化到它自己的表中,然后这个问题基本消失。当您需要定期处理该字段的“子数据”时,请勿将格式化的数据和/或多个数据存储在单个字段中。 –