【问题标题】:Using select query with like operator and parameters in java在java中使用带有like运算符和参数的select查询
【发布时间】:2017-06-05 16:55:04
【问题描述】:

我想写这个查询:

SELECT * FROM products
WHERE name LIKE '%?%' 
OR description LIKE '%?%'

并在spring web应用程序中通过java执行。但是这里的问题是当我使用LIKE 运算符时它必须与文字一起使用,但是当我写'%?%' java 不能识别? 像参数的占位符时,当我添加参数时我得到没有参数的错误在我的查询中。

另外,如果我写 %?% 没有文字,我会得到语法错误。

【问题讨论】:

  • 为什么不能使用 '%:name%' 和 '%:description%',更好,更易读,解决你的问题

标签: java mysql sql


【解决方案1】:

您可以随时使用concat():

SELECT *
FROM products
WHERE name LIKE CONCAT('%', ?, '%') OR
      description LIKE CONCAT('%', ?, '%');

或使用应用程序将通配符放入模式字符串中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-08
    • 2015-02-11
    • 1970-01-01
    • 2014-06-09
    • 1970-01-01
    • 1970-01-01
    • 2012-12-15
    • 2014-03-19
    相关资源
    最近更新 更多