我想搜索数据库表并返回任何字符串,这是另一个字符串的子序列。
当我想搜索与另一个字符串相同的字符串时,我使用以下内容:
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”的子序列,那么我可以使用野猫来涵盖所有这些可能性吗?
答案 0 :(得分:1)
LIKE通常与左侧的列值一起使用,但正如Colonel Thirty Two所述,您可以反转比较:
SELECT kmer FROM data WHERE 'XXATCGXX' LIKE '%' || kmer || '%';