#sql #postgresql #escaping
#sql #postgresql #экранирование
Вопрос:
Я хочу выбрать строки, которые имеют значение апострофа postgresql:
select * from table where column like '%'||chr(39)||'%'
Но это не работает.
Таблица buku
:
id new_issn
------------- --------
1.003.111.641 ''
1.003.111.642 ''
1.003.111.643 125698
select * from buku where new_issn like '%'||chr(39)||'%'
Ответ №1:
Апостроф может быть экранирован другим апострофом. Попробуйте это:
select * from table where column like '%''%'
Ссылка: Документы Postgresql.
Комментарии:
1. @mu слишком короткое: я скопировал значение и вставил его в свой запрос
2. @nike: Итак, у вас есть пара одинарных кавычек, окруженных двойными кавычками. Запрос, который я опубликовал, должен сработать. Пожалуйста, опубликуйте свой фактический запрос и несколько тестовых строк в вопросе, чтобы мы могли продолжить отладку.
3. «10.0311.1641»;»»» выберите * из buku, где new_issn имеет вид ‘%»%’
4. @Nike: Извините, но я не понимаю начальную часть вашего комментария.
5. Я использую это и работает отлично.. ВЫБЕРИТЕ * Из mytable, ГДЕ mycolumn ИМЕЕТ ВИД $$%’%$$