0

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

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

特别是使用'%%%'。

原因是,我有一个下拉列表会发送一个“%”,在 sql 中我将它与另外两个 % 一起括起来以搜索一组课程,这个查询让 courseID 搜索所有课程。

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

4

2 回答 2

3

这些是等价的:

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

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

于 2013-04-05T11:25:32.460 回答
0

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

这里

于 2013-04-05T11:23:21.660 回答