SQL将通配符与变量占位符结合使用

问题描述 投票:0回答:1

我试图将我的一个SQL函数更改为'LIKE'查询字段,而不是完全匹配查询字段。

但是,我的语法似乎给了我错误。

如果我使用占位符,语法是否需要更改?

SQL查询完美无缺; “WHERE SOUNDEX(f.foodname) = SOUNDEX(?)”。

有人有主意吗?非常感谢

" SELECT DISTINCT r.restpic, r.restname"
        + " FROM restaurants r"
        + " JOIN food f ON f.restid = r.restid"
        + " JOIN drinks d ON d.restid = r.restid"
        + " WHERE SOUNDEX(f.foodname) LIKE '%SOUNDEX(?)%'"
        + " AND SOUNDEX(d.drinkname) LIKE '%SOUNDEX(?)%'");

(编辑:添加错误图片)

SQL语句是我正在构建的Java / JSP项目的一部分,所以这是错误:Screenshot of Error Screenshot of Error

mysql sql wildcard placeholder
1个回答
1
投票

据推测,你打算:

WHERE SOUNDEX(f.foodname) LIKE CONCAT('%', SOUNDEX(?), '%' AND
      SOUNDEX(d.drinkname) LIKE CONCAT('%', SOUNDEX(?), '%')
© www.soinside.com 2019 - 2024. All rights reserved.