SQL从WHERE中排除通配符

时间:2016-07-20 09:58:51

标签: sql where sap wildcard sapb1

我们对SAP的查询有可能导致问题。

SELECT 
T2.[DistNumber], T1.[ItemCode], T0.[ItemName], T0.[CardName], T2.[InDate], T1.[Quantity] 

FROM OITL T0  INNER JOIN ITL1 T1 ON T0.[LogEntry] = T1.[LogEntry], OBTN T2 

WHERE T2.[DistNumber] =[%0]

有人把通配符(%)放到提示符中,当然一切都堵塞了。

有没有办法在WHERE中禁止使用通配符,可能使用CASE或其他东西? 我能想到的唯一另一个选择是只选择前1000名或者其他什么,但我想知道是否有更好的方法。

非常感谢。

1 个答案:

答案 0 :(得分:3)

你能在WHERE子句中删除它吗?

SELECT 
T2.[DistNumber], T1.[ItemCode], T0.[ItemName], T0.[CardName], T2.[InDate], T1.[Quantity] 

FROM OITL T0  INNER JOIN ITL1 T1 ON T0.[LogEntry] = T1.[LogEntry], OBTN T2 

WHERE T2.[DistNumber] =replace([%0],'%','')