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/

相关文章:

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

SQL 服务器 : Stored proc can execute well but at the end error "Cannot find the object"

python - 正则表达式 Python 不返回期望的结果

Java字正则表达式

c++ - 为什么常量有类型修饰符?

c++ - 访问没有字符的字符串的第一个字符

mysql - 我如何像格式化程序一样构造 SQL 代码,以使其通过 SQL 命令更好地读取到数据库

MySQL 和动态查询错误 1064

php - 在 IF 条件下选择 DATEDIFF 时出错

javascript - JavaScript 的属性访问表达式