提问人:Hack-R 提问时间:3/10/2016 最后编辑:Victor OlexHack-R 更新时间:9/28/2016 访问量:48
MySQL SQL Pass-Thru 中的文本替换
Text substitution in MySQL SQL Pass-Thru
问:
我正在将 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'%';
这当然行不通。
答:
1赞
Victor Olex
6/14/2016
#1
问得好。这可能有点棘手,但您可以通过以下方式实现此目的:
SELECT *
FROM mydb
WHERE name LIKE CONCAT('%', :name, '%')
P.S. 请用标签标记你的 SlashDB 问题:slashdb
评论