选择数字组合与整数SQL部分匹配的位置

时间:2018-09-05 04:44:54

标签: sql postgresql where

假设有一个简单的帐户,但我正在查找一个客户ID,即:930566615552,并且只有最后8位66615552-怎么办?

我尝试了“位置正确”,“喜欢”,并将该列投射为vachar,但无济于事。

我确定这个问题已经被问过了,我知道我只是在搜索错误的词以找到答案!

4 个答案:

答案 0 :(得分:2)

有模运算符%

所以

5 % 10 = 5
325 % 100 = 25
457322844 % 10000 = 2844

但是有一些警告:

  1. 您需要指定根据情况动态变化的正确基准
  2. 它会忽略此数字列的索引

答案 1 :(得分:1)

您可以查询

README

为此类查询建立索引需要三字母索引。

答案 2 :(得分:1)

如果该列是INT并且您始终具有id的后8位,则有两个选择:

SELECT * FROM customer WHERE id % 100000000 = 66615552;
SELECT * FROM customer WHERE RIGHT(CAST(id AS TEXT), 8) = '66615552';

答案 3 :(得分:0)

尝试使用正确的功能

SELECT * FROM customer WHERE RIGHT(id, 8) = '66615552'

或使用类似运算符

选择*从客户WHERE ID中,如'%66615552'这样的8位