给定一个字符串,找到一个字符串开始的行开始
问题描述:
我在bash中得到了一个变量,例如test=CCA123
。给定一个字符串,找到一个字符串开始的行开始
假设我有一个名为init
的表,并在我的MySQL数据库中有一列name
。该表格包含以下值。
名称:
- CC
- CCB
- AA
- AZ
- 阿塞拜疆
- AQS
鉴于这种,我想要一个SQL,选择CC
。
所以,我想是这样的:
mysql -u USER -pPASS -D DATABASE -e "SELECT name FROM intit WHERE $test LIKE name%`
当然但是,这不工作!任何想法我怎么能做到这一点?
答
如何
"SELECT name FROM intit WHERE name LIKE \"$test%\""
+0
我已经尝试,但它不工作,因为它不是$测试谁需要通配符,但我的行从SQL ... – Pierro06
答
我认为这是表达你想要的:
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);
如果测试是CCB123,您想要哪一行?为什么? – Bohemian