我想写这个查询:
SELECT * FROM products
WHERE name LIKE '%?%'
OR description LIKE '%?%'
并在spring web application中通过java执行。但这里的问题是,当我使用 LIKE
运算符时,它必须与文字一起使用,但是当我编写 '%?%'
时,java 无法识别 ?
就像参数的占位符一样,当我添加参数时,我收到错误消息,指出我的查询中没有参数。
另外,如果我写 %?%
时没有文字,我会得到语法错误。
最佳答案
你总是可以使用concat()
:
SELECT *
FROM products
WHERE name LIKE CONCAT('%', ?, '%') OR
description LIKE CONCAT('%', ?, '%');
或者使用应用程序将通配符放在模式字符串中。
关于java - 在 Java 中使用带有类似运算符和参数的选择查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44373846/