2

如何在值有空格的地方编写 where 子句:

实际上我正在使用openJPA,我必须设置参数。我将设置的值有一个空格,例如: String somevalue="firstname lastname"; query.setparameter(somevalue);

我这样做了,但没有用。任何建议将不胜感激。谢谢。

4

3 回答 3

2

那应该行得通。引号内的空格是有效的。可能 lastname 后面有空格,或者 lastname 的大小写不正确。

于 2010-04-30T02:54:49.940 回答
1

该语法确实有效;您必须输入一个不存在的名称。

sqlite> CREATE TABLE FOO (name TEXT);
sqlite> INSERT INTO FOO VALUES('joe smith');
sqlite> SELECT * FROM FOO WHERE name = 'joe smith';
joe smith

如果这是一次性搜索,您最好尝试使用LIKE运算符来查找匹配项:

sqlite> SELECT * FROM FOO WHERE name LIKE '%smith%';
joe smith
于 2010-04-30T02:54:55.590 回答
0

该查询没有任何问题。

如果它没有返回结果,那是因为您的数据有问题。您是存储为“char”还是“varchar”?如果它是“char”,那么您将在其中有额外的填充字符需要注意。

于 2010-04-30T02:55:36.837 回答