Ошибка при функции ILIKE

sql = cur.execute(f'SELECT * FROM main_parse_user WHERE bio LIKE "bla bla bla"')

Работаю на Python при наборе выдает такую ошибку

Traceback (most recent call last):
  File "C:\Users\zufar\AppData\Roaming\JetBrains\PyCharmCE2022.3\scratches\scratch_12.py", line 15, in <module>
    sql = cur.execute(f'SELECT * '
psycopg2.errors.UndefinedColumn: ОШИБКА:  столбец "Jen%" не существует
LINE 1: SELECT * FROM main_parse_user WHERE bio LIKE "Jen%"

Но это же не столбец

Работаю по документации


Ответы (1 шт):

Автор решения: newman

Ошибка в синтаксисе запроса. В PostgreSQL в двойных кавычках (") указывается имя столбца, имя таблицы и т.д. А в одинарных (') указываются строковые константы.

Т.е. правильный запрос

SELECT * FROM "table" WHERE "column" ILIKE '%строка%';

В общем случае двойные кавычки можно не указывать, если можно однозначно определить имена столбцов и таблиц.

→ Ссылка