sql查询值中包含空格

发布于 2024-08-31 04:33:25 字数 163 浏览 8 评论 0原文

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

实际上我正在使用 openJPA,我必须设置参数。 我要设置的值有一个空格,例如: String somevalue="名字 姓氏"; 查询.setparameter(somevalue);

我这样做了但不起作用。任何建议将不胜感激。谢谢。

How do I write where clause where the value has spaces:

Actually I am using openJPA and I have to set parameter.
The value i will be setting has a space, eg:
String somevalue="firstname lastname";
query.setparameter(somevalue);

I did this but doesnot work. Any suggestion will be appreciated. Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

所有深爱都是秘密 2024-09-07 04:33:25

那应该有效。引号内的空格有效。也许姓氏后面有空格,或者姓氏大小写不正确。

That should work. The space within the quotes is valid. Perhaps there are spaces after the lastname, or the casing of lastname is incorrect.

蓝咒 2024-09-07 04:33:25

这种语法确实有效;您输入的名称肯定不存在。

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

That syntax does indeed work; you must be typing in a name that does not exist.

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

If this is a one-off search, you might be better off trying the LIKE operator to find the match:

sqlite> SELECT * FROM FOO WHERE name LIKE '%smith%';
joe smith
风情万种。 2024-09-07 04:33:25

这个查询没有任何问题。

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

There's nothing wrong with that query.

If it's not returning results, it's because you've got a problem with your data. Are you storing as 'char' or 'varchar'? If it's 'char', then you'll have extra padding characters in there to watch for.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文