假设我有一个任意字符串(例如“AABCC”),并且我想获取 [col] 等于带有任何前缀的该字符串的每一行。在这种情况下我会这样做:
SELECT * FROM table WHERE [col] LIKE '%AABCC';
在我的示例中,我会得到“EEEAABCC”等匹配项。
现在我想做相反的事情。我想获得字符串等于 [col] 并带有任何前缀的匹配:
例如,我想获取 [col] 为“BCC”、“ABCC”等的行。
我该怎么做?
最佳答案
听起来您想要任何与字符串的最右边部分的整个长度相匹配的列:
SELECT col FROM tbl
WHERE col LIKE RIGHT('rrrabcd', LENGTH(col))
(此查询的性能将非常糟糕,因为它必须计算每一行的表达式。如果您经常对大量数据执行此操作,您可能需要重新考虑您的问题。)
关于SQL:查询变量是字段的后缀,反之亦然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39735063/