Проверьте наличие данного текста в таблице
У меня есть кодовое название курса COMP2221.
У меня тоже есть функция finder(int)
который может найти все коды, соответствующие определенному шаблону.
Подобно:
select * from finder(20004)
дам:
comp2211
comp2311
comp2411
comp2221
которые соответствуют шаблону comp2###
,
Мой вопрос заключается в том, как аккуратно выразить "есть ли comp2221 в finder(20004)"?
1 ответ
Решение
Как выразить "аккуратно ли comp2221 в finder(20004)"?
Используйте EXISTS
выражение и поставить тест в WHERE
пункт:
SELECT EXISTS (SELECT FROM finder(20004) AS t(code) WHERE code = 'comp2221');
Возвращает один TRUE
или же FALSE
, Никогда NULL и никогда не более одной строки - даже если ваша табличная функция finder()
возвращает дубликаты.
Или раскошелиться на функцию finder()
интегрировать тест напрямую. Наверное, быстрее.