【问题标题】:Like query with prepared statement [duplicate]像带有准备好的语句的查询[重复]
【发布时间】:2014-09-13 18:17:21
【问题描述】:
val term="govind"
SQL("SELECT id,name FROM acc WHERE name like '%"+term+"%'") //works

但是

SQL("SELECT id,name FROM acc WHERE name like '%{term}%'").on("term"->term) // doesn't works    

我如何将第一个查询转换为它工作的准备好的语句?

【问题讨论】:

    标签: mysql prepared-statement


    【解决方案1】:

    您应该在“术语”值中包含 %。

    【讨论】:

      【解决方案2】:

      作为替代方案,我们可以在 SQL 文本中包含 % 通配符,并将它们与绑定参数结合,使用 MySQL CONCAT 函数,例如:

      SQL("SELECT id,name FROM acc WHERE name LIKE CONCAT('%',{term},'%'").on("term"->term)
      

      【讨论】:

        【解决方案3】:

        包括%term 关键字作品

        SQL("SELECT id,name FROM acc WHERE name like {term}").on("term"->("%"+term+"%"))
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-09-11
          • 2017-12-15
          • 2015-08-08
          • 1970-01-01
          • 2011-01-15
          • 1970-01-01
          • 2021-08-26
          • 2013-08-10
          相关资源
          最近更新 更多