我在bash中得到了一个变量,例如test=CCA123
。
假设我的MySQL数据库中有一个名为init
的表,其中包含name
列。该表包含以下值。
命名
鉴于此,我想要一个选择CC
。
所以,我想要这样的事情:
mysql -u USER -pPASS -D DATABASE -e "SELECT name FROM intit WHERE $test LIKE name%`
但当然,这不起作用!我怎么能这样做?
答案 0 :(得分:2)
怎么样
"SELECT name FROM intit WHERE name LIKE \"$test%\""
答案 1 :(得分:0)
我认为这是你想要的表达方式:
select name
from init
where '$test' like concat('test=', name, '%');
或者,如果您想使用索引,name
总是两到三个字符:
select name
from init
where name = left(substring_index('$test', '=', -1), 2) or
name = left(substring_index('$test', '=', -1), 3);