выберите, где комбинация чисел соответствует части целочисленного SQL - PullRequest
0 голосов
/ 05 сентября 2018

Предположим, что это просто, но я ищу идентификатор клиента, т. Е. 930566615552 и имею только последние 8 цифр 66615552 - как это сделать?

Я пытался ГДЕ ПРАВИЛЬНО, НРАВИТСЯ и бросил колонну как вачар, но безрезультатно.

Я уверен, что этот вопрос уже задавался, я знаю, что просто ищу неправильные термины, чтобы найти ответ!

Ответы [ 4 ]

0 голосов
/ 05 сентября 2018

Попробуйте с правильной функцией:

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

ИЛИ Используйте как оператор

ВЫБРАТЬ * ОТ клиента WHERE ID, 8 как "% 66615552"

0 голосов
/ 05 сентября 2018

Пара опций, если столбец является INT, и у вас всегда есть последние 8 цифр идентификатора:

SELECT * FROM customer WHERE id % 100000000 = 66615552;
SELECT * FROM customer WHERE RIGHT(CAST(id AS TEXT), 8) = '66615552';
0 голосов
/ 05 сентября 2018

есть оператор модуля%

Так

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

но у него есть предостережения:

  1. вам нужно указать правильную базу, которая будет динамической в ​​вашем случае
  2. игнорирует индекс для этого числового столбца
0 голосов
/ 05 сентября 2018

Вы можете запросить

... WHERE CAST(id AS text) LIKE '%66615552'

Для индексации такого запроса потребуется индекс триграммы.

...