Postgres вызывает ошибку, когда я пытаюсь отфильтровать information_schema.columns.column_name по несуществующему имени столбца - PullRequest
0 голосов
/ 08 июня 2018

Мне нужно отфильтровать столбцы «х» из моей таблицы, и я не знаю, существует ли этот столбец вообще.Я написал запрос:

SELECT column_name
FROM information_schema.columns
WHERE table_name = 'T'
      AND column_name <> "X"

И выдает ошибку:

[42703] ERROR: column "X" does not exist

Почему?Я пытался преобразовать _column_name_ в строку - это не сработало.

В чем проблема?

$ psql --version
psql (PostgreSQL) 10.4 (Ubuntu 10.4-2.pgdg16.04+1)

Спасибо заранее!

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

Проблема заключалась в двойной кавычке ...

SELECT column_name
FROM information_schema.columns
WHERE table_name = 'T'
    AND column_name <> 'X'

Это должно сработать ...

0 голосов
/ 08 июня 2018

Только что применил обходной путь, подобный этому:

select t.column_name
from (SELECT column_name :: text
      FROM information_schema.columns
      WHERE table_name = 'T') t
where t.column_name <> 'X'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...