sql count仅适用于单个单词,而不适用于多个单词

时间:2017-10-27 23:43:17

标签: sql

我一直在使用这个sql语句已经有一段时间了。刚注意到它只适用于单个单词。

sql = "SELECT Count(*) as Totalab FROM tablename WHERE city = '" & Server.URLEncode(rs("city")) & "'"

例如:

对于布兰普顿市来说这很好,并返回32(只是示例),因为布兰普顿是一个字。 对于纽约市,它返回0(例如,它应该返回56),因为纽约是2个单词。

2 个答案:

答案 0 :(得分:0)

您是否正在尝试识别匹配的城市?如果是这样,为什么不尝试使用WHERE EXISTS条件?

SELECT Totalab
FROM table
WHERE EXISTS (SELECT City FROM Table WHERE CityId = 
SomeValue AND State = XX);

答案 1 :(得分:0)

假设这是VB,那是因为您没有使用New York查询数据库。

您实际上是使用New+York查询它。

这是因为,出于任何奇怪的原因,you're URL Encoding字符串,用空格()替换空格(+)。

如果出于某种原因,你正在处理编码参数,你应该解码它们,尽管可能你正在使用的任何框架都会为你做这件事。

但是,真的,我会更关注SQL注入,如果你简单地连接字符串,这可能是一个问题。你需要使用准备好的语句,这也可以解决你认为你在这里处理的任何问题。