SELECT中的MySQL部分匹配

时间:2014-02-16 14:35:17

标签: mysql sql regex sql-like mysql-5.7

我正在寻找可以包装一个行为类似LIKE操作的SELECT表达式的运算符(但不是在WHERE子句上使用它,在SELECT表达式上使用它)并且将返回该表达式。可以像这样运作的东西:

SELECT LEFT(MutationGRCh37,1)
FROM mutationschema.cosmicmutations WHERE MutationGRCh37 LIKE '_:%'

但是,不要使用left和like,而是使用两者的某种组合,例如:

SELECT LIKE(MutationGRCh37,'_:%')
FROM mutationschema.cosmicmutations

这是一个简单的例子,但是由于更复杂的部分匹配,我需要使用大量的数学抽象来处理这个,只需要在这里给出字符串操作:http://dev.mysql.com/doc/refman/5.7/en/string-functions.html

1 个答案:

答案 0 :(得分:1)

如果您想在冒号之前获取所有内容,可以使用substring_index()

select substring_index(MutationGRCh37, ':', 1)
. . .

因此,如果该列包含'abc:123',则会返回'abc'