Задать вопрос
begemot_sun
@begemot_sun
Программист в душе.

LIKE: Как найти нужный шаблон в колонке?

Приветствую.
Все мы знает конструкцию:

SELECT * FROM table WHERE column LIKE '12345%' <- оно работает :)

Теперь положим у нас в базе есть колонка с шаблонами аля '12345%', 'asd%' (построчно)
Так вот, этот запрос работает:

SELECT * FROM table WHERE 'some_string' LIKE column.
Данный выше запрос будет находить все шаблоны из column которые матчатся с 'some_string". Это реально работает.

Теперь расширим колонку до массива значений (строк): VARCHAR[]
Заведем туда некоторые шаблоны: {'asd%', 'sdf%', '%er%'}

И теперь внимание вопрос:
Я пытаюсь делать по аналогии:
SELECT * FROM table WHERE 'ters' LIKE ANY("column"). <- это не работает.
Здесь column - колонка c типом VARCHAR[], т.е. массив строк
Хотя:
SELECT 'ters' LIKE ANY(ARRAY['asd%', 'sdf%', '%er%']) будет true
Т.е я не понимаю почему статичный массив работает как надо, но вот если я вместо массива подставляю колонку c теми же значениями в строке - оно не работает.
А как сделать правильное решение ?

P.S. База данные postgresql
  • Вопрос задан
  • 251 просмотр
Подписаться 1 Оценить Комментировать
Решения вопроса 1
begemot_sun
@begemot_sun Автор вопроса
Программист в душе.
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы