Tengo un ejemplo de la tabla db, persons
en Postgres dictadas por otro equipo que tiene un nombre de columna por ejemplo, "first_Name"
. Ahora estoy tratando de usar PG commander para consultar esta tabla en este nombre de columna.
select * from persons where first_Name="xyz";
Y solo regresa
ERROR: la columna "nombre_nombre" no existe
¿No estoy seguro de si estoy haciendo algo tonto o hay una solución a este problema que me estoy perdiendo?
fuente
foobar
,FOOBAR
yFooBar
son el mismo identificador. Sin embargo"foobar"
,"FooBar"
y"FOOBAR"
son identificadores diferentesfoobar
yFOOBAR
son lo mismo"FOOBAR"
, en potgresqlFOOBAR
yfoobar
etc. son lo mismo que"foobar"
.Para citar la documentación :
También puede escribirlo utilizando identificadores entre comillas :
Citar un identificador lo distingue entre mayúsculas y minúsculas, mientras que los nombres sin comillas siempre se pliegan en minúsculas (a diferencia del estándar SQL donde los nombres sin comillas se pliegan en mayúsculas). Por ejemplo, los identificadores
FOO
,foo
y"foo"
se consideran el mismo por PostgreSQL, pero"Foo"
y"FOO"
son diferentes de estos tres y entre sí.Si desea escribir aplicaciones portátiles, se le recomienda que siempre cite un nombre en particular o que nunca lo haga.
fuente
Los nombres de las columnas que están en mayúsculas o minúsculas deben estar entre comillas dobles en PostgresQL. Entonces, la mejor convención será seguir todos los casos pequeños con guión bajo.
fuente