SQL:查询变量是字段的后缀,反之亦然

标签 sql expression suffix

假设我有一个任意字符串(例如“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/

相关文章:

bash - Shell:如何计算具有两个以上操作数的算术表达式

python - yield 和返回有何不同?

mysql,alter column删除主键和auto_increment

sql - 如果值不存在则插入新行并以任何一种方式获取 id

SQL not a single group 组函数报错

MySQL - 一张表中的多个外键

c - 如何将三元运算符合并到优先级攀升算法中?

java - Java中使用比较器的循环后缀数组

swift - 从 Swift 中的文件名中删除后缀