如何搜索子序列
How to search as subsequence
我想在数据库 table 和 return 中搜索作为另一个字符串的子序列的任何字符串。
当我想搜索与另一个字符串相等的字符串时,我使用以下命令:
SELECT kmer from data where kmer="ATCG"
假设 kmer = "ATCG",将进行匹配。但是,如果我想作为子序列进行搜索怎么办?类似于以下内容:
SELECT kmer from data where kmer in "XXATCGXX"
但显然,这种语法是不正确的。这些字符串是静态的,我无法在 LIKE 语法中使用通配符。
明确地说,以下任何值都应该 return 匹配:
X
XX
XAT
XATC
ATC
TC
GX
CGXX
A
T
C
G
仅举几个例子。这些都是 "XXATCGXX" 的子序列,所以我可以使用 wildcats 来涵盖所有这些可能性吗?
LIKE 通常与左边的列值一起使用,但正如三十二上校所说,您可以反转比较:
SELECT kmer FROM data WHERE 'XXATCGXX' LIKE '%' || kmer || '%';
我想在数据库 table 和 return 中搜索作为另一个字符串的子序列的任何字符串。
当我想搜索与另一个字符串相等的字符串时,我使用以下命令:
SELECT kmer from data where kmer="ATCG"
假设 kmer = "ATCG",将进行匹配。但是,如果我想作为子序列进行搜索怎么办?类似于以下内容:
SELECT kmer from data where kmer in "XXATCGXX"
但显然,这种语法是不正确的。这些字符串是静态的,我无法在 LIKE 语法中使用通配符。
明确地说,以下任何值都应该 return 匹配:
X
XX
XAT
XATC
ATC
TC
GX
CGXX
A
T
C
G
仅举几个例子。这些都是 "XXATCGXX" 的子序列,所以我可以使用 wildcats 来涵盖所有这些可能性吗?
LIKE 通常与左边的列值一起使用,但正如三十二上校所说,您可以反转比较:
SELECT kmer FROM data WHERE 'XXATCGXX' LIKE '%' || kmer || '%';