选择数字组合与整数SQL的一部分匹配的位置
假设是一个简单的,但我正在查找一个客户ID,即:930566615552,只有最后8位66615552-如何做到这一点 我尝试了一个WHERE-RIGHT,LIKE和Cast-the-column-as-vachar,但是没有用 我确信这个问题以前被问过,我知道我只是在寻找错误的术语来找到答案 您可以查询选择数字组合与整数SQL的一部分匹配的位置,sql,postgresql,where,Sql,Postgresql,Where,假设是一个简单的,但我正在查找一个客户ID,即:930566615552,只有最后8位66615552-如何做到这一点 我尝试了一个WHERE-RIGHT,LIKE和Cast-the-column-as-vachar,但是没有用 我确信这个问题以前被问过,我知道我只是在寻找错误的术语来找到答案 您可以查询 ... WHERE CAST(id AS text) LIKE '%66615552' 为这样的查询编制索引需要一个三元索引。您可以查询 ... WHERE CAST(id AS text)
... WHERE CAST(id AS text) LIKE '%66615552'
为这样的查询编制索引需要一个三元索引。您可以查询
... WHERE CAST(id AS text) LIKE '%66615552'
为此类查询编制索引将需要一个三元索引。如果列是INT,并且始终具有id的最后8位,则有两个选项:
SELECT * FROM customer WHERE id % 100000000 = 66615552;
SELECT * FROM customer WHERE RIGHT(CAST(id AS TEXT), 8) = '66615552';
如果列为INT且始终具有id的最后8位,则有两个选项:
SELECT * FROM customer WHERE id % 100000000 = 66615552;
SELECT * FROM customer WHERE RIGHT(CAST(id AS TEXT), 8) = '66615552';
存在模数运算符% 所以 但它有一些警告:
存在模数运算符% 所以 但它有一些警告:
尝试使用正确的功能:
SELECT * FROM customer WHERE RIGHT(id, 8) = '66615552'
或使用类似运算符
选择*FROM customer WHERE id,8如“%66615552”尝试使用正确的功能:
SELECT * FROM customer WHERE RIGHT(id, 8) = '66615552'
或使用类似运算符
选择*FROM customer WHERE id,8,如“%66615552”您总是有最后8位数字吗?id列是什么类型的?你总是有最后8位吗?id列是什么类型的?