Как сопоставить число «начать с» через запрос sqlite - PullRequest
0 голосов
/ 17 марта 2019

Есть ли способ сопоставить запрос, например, я хочу найти свой номер по правилам (имя таблицы) с помощью запроса.Я хочу сопоставить число, которое начинается с "333" rules ......... 1) 3322323

Вот мой запрос

SELECT * FROM demo where rules like '33322323'; 

Я хочу, чтобы запрос возвращался true .потому что это соответствует моему правилу.

Ниже приведена моя таблица.

  id    | rules
............... 
   1    |  333
   2    |  22
   3    |  442

У меня есть пример данных 1) 33331235, 2) 2354545 3) 4424545454 4) 22343434

Случай 1 (соответствующие данные 1) 33331235)

Предположим, я хочу проверить свои 33331235 с моей таблицей правил, так что мои данные образца совпадают сmy

строка 1 , что равно 333, поскольку мои данные начинаются с 333 ..... они должны возвращать значение true, поскольку они совпадают.

Случай 2 (сопоставление данных 2) 2354545)

Предположим, я хочу проверить мою 2354545 с моей таблицей правил, поэтому мои данные выборки не совпадают с моими

Любая строка, потому что мое правило не применимо к ней ..... она должна возвращать true, потому что она соответствует.

Случай 3 (соответствующие данные 1)4424545454)

Предположим, я хочу проверить мою 4424545454 с моей таблицей правил, чтобы мои образцы данных соответствовали моей

строке 1 что составляет 442,из-за того, что мои данные начинаются с 442 ..... они должны возвращать true, потому что они совпадают.

Решено.

Я решил это с помощьюиз Forpas Я использовал этот запрос для сопоставления числа, начинающегося с

SELECT * FROM demo where '333434334 like rules ||'%';

Число в конце строки , когда я использую этот запрос.

SELECT * FROM demo where '333434334' like '%' || rules;

Число в любом месте в строке, тогда я использую этот запрос.

SELECT * FROM demo where '333434334' like '%' || rules ||'%';

1 Ответ

1 голос
/ 17 марта 2019

Вам необходимо воспользоваться оператором LIKE.Вы пометили свой вопрос как MySQL и SQLite .Для MySQL :

SELECT * FROM demo where '33322323' like concat(rules, '%');

Для SQLite :

SELECT * FROM demo where '33322323' like rules || '%';

Приведенный выше код вернет все строки, в которых значение столбца rulesначальные символы 33322323.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...