使用%%%的SQL通配符

时间:2013-04-05 11:19:42

标签: sql wildcard

我想知道使用此查询我可能无法预见哪些问题:

SELECT * 
FROM tanswer 
WHERE CourseID LIKE '%%%' AND Q39 LIKE 'p' AND Q42 LIKE 'a' AND Q43 LIKE 'a'

特别是使用'%%%'。

原因是,我有一个发送'%'的下拉列表,并且在sql中我将其与其他两个%一起用来搜索一组课程,这个查询让courseID搜索所有课程。

返回的记录集似乎工作正常,但我不确定是否有任何我可能没有看到通过一起使用三个%%%。这是我偶然发现的通配符的特殊用法吗?

2 个答案:

答案 0 :(得分:3)

这些是等价的:

 CourseID LIKE '%%%'
 CourseID LIKE '%%'
 CourseID LIKE '%'

这就是您的查询按预期行为的原因。

答案 1 :(得分:0)

你需要使用!逃避内部%:即%!%%

请参阅here