Ошибка при функции 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 '%строка%';
В общем случае двойные кавычки можно не указывать, если можно однозначно определить имена столбцов и таблиц.