如何作为子序列进行搜索

时间:2016-07-21 00:10:55

标签: sqlite substring sql-like

我想搜索数据库表并返回任何字符串,这是另一个字符串的子序列。

当我想搜索与另一个字符串相同的字符串时,我使用以下内容:

SELECT kmer from data where kmer="ATCG"

假设kmer =“ATCG”,将进行匹配。但是,如果我想搜索一个子序列怎么办?如下所示:

SELECT kmer from data where kmer in "XXATCGXX"

但显然,这种语法不正确。这些字符串是静态的,我无法使用带有LIKE语法的通配符。

要明确,以下任何值都应返回匹配项:

X
XX
XAT
XATC
ATC
TC
GX
CGXX
A
T
C
G

仅举几个例子。这些都是“XXATCGXX”的子序列,那么我可以使用野猫来涵盖所有这些可能性吗?

1 个答案:

答案 0 :(得分:1)

LIKE通常与左侧的列值一起使用,但正如Colonel Thirty Two所述,您可以反转比较:

SELECT kmer FROM data WHERE 'XXATCGXX' LIKE '%' || kmer || '%';