如何在值有空格的地方编写 where 子句:
实际上我正在使用openJPA,我必须设置参数。我将设置的值有一个空格,例如: String somevalue="firstname lastname"; query.setparameter(somevalue);
我这样做了,但没有用。任何建议将不胜感激。谢谢。
那应该行得通。引号内的空格是有效的。可能 lastname 后面有空格,或者 lastname 的大小写不正确。
该语法确实有效;您必须输入一个不存在的名称。
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
该查询没有任何问题。
如果它没有返回结果,那是因为您的数据有问题。您是存储为“char”还是“varchar”?如果它是“char”,那么您将在其中有额外的填充字符需要注意。