【问题标题】:Text substitution in MySQL SQL Pass-ThruMySQL SQL Pass-Thru 中的文本替换
【发布时间】:2016-06-24 12:07:09
【问题描述】:

我将 SlashDB 用于 MySQL 的 REST API (SQL Pass-thru)。

这允许您编写一个 SQL 查询,其中您的参数(将被用户文本替换)以: 开头。例如:

select * from mydb where name = :name;

可以正常工作,假设 -- 如果 name 表示可能更改为“Atlanta”的值 -- 您想要的是:

select * from mydb where name = 'Atlanta';

问题是我试图在参数的开头和结尾使用带有通配符的like。我想要运行的查询是:

select * from mydb where name like '%Atlanta%';

但是当我输入时

select * from mydb where name like '%:name%';

结果是:

select * from mydb where name like '%'Atlanta'%';

这当然行不通。

【问题讨论】:

    标签: mysql sql-like slashdb


    【解决方案1】:

    好问题。这可能有点棘手,但您可以这样做:

    SELECT *
    FROM mydb
    WHERE name LIKE CONCAT('%', :name, '%')
    

    附:请用标签标记您的 SlashDB 问题:slashdb

    【讨论】:

      猜你喜欢
      • 2016-08-20
      • 2022-01-12
      • 2020-12-30
      • 2018-09-02
      • 1970-01-01
      • 1970-01-01
      • 2012-10-18
      • 2011-04-27
      • 1970-01-01
      相关资源
      最近更新 更多