1

問題を引き起こす可能性のある 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]

誰かがプロンプトにワイルドカード (%) を入力したため、もちろんすべてが詰まってしまいました。

おそらくCASEなどを使用して、WHEREでワイルドカードを禁止する方法はありますか? 私が思いついた他の唯一の選択肢は、トップ1000か何かだけを選択することでしたが、より良い方法があるかどうか疑問に思いました.

どうもありがとう。

4

1 に答える 1

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],'%','')
于 2016-07-20T10:02:17.453 に答える