当我& and %在我的搜索字符串中添加登录时,我将查询输出作为所有记录我使用oracle和mysql作为数据库
我将如何避免这种情况,这是使用java动态生成的查询片段
WHERE 0 = 0 AND (LOWER (business_keywords) LIKE '%&%');
Run Code Online (Sandbox Code Playgroud)
和
WHERE 0 = 0 AND (LOWER (business_keywords) LIKE '%%%');
Run Code Online (Sandbox Code Playgroud)
逃避他们:
SELECT '%' LIKE '%\\%%'
Run Code Online (Sandbox Code Playgroud)
您可能需要提供自己的转义字符,以便于移植:
LIKE '%!%%' ESCAPE '!'
Run Code Online (Sandbox Code Playgroud)
,因为MySQL将反斜杠视为特殊字符而Oracle不是.