У меня есть таблицы БД сказать, persons
в Postgres передавалась другой командой , которая имеет имя столбца сказать, "first_Name"
. Сейчас я пытаюсь использовать PG Commander для запроса этой таблицы по этому столбцу-имени.
select * from persons where first_Name="xyz";
И это только возвращает
ОШИБКА: столбец "first_Name" не существует
Не уверен, что я делаю что-то глупое или есть способ обойти эту проблему, которую я упускаю?
источник
foobar
,FOOBAR
иFooBar
это тот же идентификатор. Тем не менее"foobar"
,"FooBar"
и"FOOBAR"
разные идентификаторыfoobar
иFOOBAR
такие же, как"FOOBAR"
под potgresqlFOOBAR
иfoobar
т. д. такие же, как"foobar"
.Цитировать документацию :
Вы также можете написать это, используя идентификаторы в кавычках :
Заключение в кавычки идентификатора делает его чувствительным к регистру, тогда как имена без кавычек всегда свертываются в нижний регистр (в отличие от стандарта SQL, где имена без кавычек свертываются в верхний регистр). Например, идентификаторы
FOO
,foo
и"foo"
PostgreSQL считаются одинаковыми, но"Foo"
и"FOO"
отличаются от этих трех и друг друга.Если вы хотите писать переносимые приложения, советуем всегда указывать конкретное имя или никогда не указывать его.
источник
Имена столбцов в смешанном регистре или в верхнем регистре должны быть заключены в двойные кавычки в PostgresQL. Так что лучшим соглашением будет следовать за всем небольшим регистром с подчеркиванием.
источник