Выберите строку со значением апострофа postgresql

#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 ИМЕЕТ ВИД $$%’%$$