给定一个字符串,找到一个字符串开始值的行

时间:2016-04-23 19:22:45

标签: mysql sql bash

我在bash中得到了一个变量,例如test=CCA123

假设我的MySQL数据库中有一个名为init的表,其中包含name列。该表包含以下值。

命名

  • CC
  • CCB
  • AA
  • AZ
  • AZE
  • AQS

鉴于此,我想要一个选择CC

的SQL

所以,我想要这样的事情:

mysql -u USER -pPASS -D DATABASE -e "SELECT name FROM intit WHERE $test LIKE name%`

但当然,这不起作用!我怎么能这样做?

2 个答案:

答案 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);