【问题标题】:SQL exclude wildcard from WHERESQL 从 WHERE 中排除通配符
【发布时间】:2016-07-20 09:58:50
【问题描述】:

我们有一个关于 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 名或其他什么,但我想知道是否有更好的方法。

非常感谢。

【问题讨论】:

    标签: sql where-clause wildcard sapb1


    【解决方案1】:

    你能在 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],'%','')
    

    【讨论】:

    • 太棒了!再次感谢
    猜你喜欢
    • 2022-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多