Индекс подстроки в SQLite3? - PullRequest
8 голосов
/ 06 июля 2010

Какой самый простой способ определения индекса подстроки в столбце varchar?charindex не существует в стандартной версии SQLite3 - что все еще немного удивляет меня.

В частности, у меня есть столбец со значениями, такими как 010000, 011000, 010110и т. д. Я хочу найти индекс первого вхождения 11.Для примеров, которые я привел, я ожидал бы что-то вроде NULL (или -1), 1 и 3.

У меня есть взломанная идея, которая использует length и ltrim, но мне кажется, что мне нужно выполнить несколько работ несколько раз.

Ответы [ 2 ]

7 голосов
/ 03 апреля 2015

Теперь это возможно с помощью встроенной функции instr.

sqlite> select instr(010000,11);
0
sqlite> select instr(011000,11);
1
sqlite> select instr(010110,11);
3
2 голосов
/ 08 июля 2010

К сожалению, я думаю, что вы нашли единственный ответ, который в настоящее время работает. SQLite не имеет эквивалентной функции charindex. Вы можете сделать свой собственный с длиной и отделкой, но ничего не встроено: (

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