我想知道使用此查询我可能无法预见哪些问题:
SELECT *
FROM tanswer
WHERE CourseID LIKE '%%%' AND Q39 LIKE 'p' AND Q42 LIKE 'a' AND Q43 LIKE 'a'
特别是使用'%%%'。
原因是,我有一个发送'%'的下拉列表,并且在sql中我将其与其他两个%一起用来搜索一组课程,这个查询让courseID搜索所有课程。
返回的记录集似乎工作正常,但我不确定是否有任何我可能没有看到通过一起使用三个%%%。这是我偶然发现的通配符的特殊用法吗?
答案 0 :(得分:3)
这些是等价的:
CourseID LIKE '%%%'
CourseID LIKE '%%'
CourseID LIKE '%'
这就是您的查询按预期行为的原因。
答案 1 :(得分:0)
你需要使用!逃避内部%
:即%!%%
请参阅here