Saya punya tabel db mengatakan, persons
di Postgres diturunkan oleh tim lain yang memiliki nama kolom katakan "first_Name"
,. Sekarang saya mencoba menggunakan komandan PG untuk menanyakan tabel ini pada nama kolom ini.
select * from persons where first_Name="xyz";
Dan itu hanya kembali
GALAT: kolom "first_Name" tidak ada
Tidak yakin apakah saya melakukan sesuatu yang konyol atau apakah ada solusi untuk masalah ini yang saya lewatkan?
sumber
foobar
,,FOOBAR
danFooBar
adalah pengidentifikasi yang sama. Namun"foobar"
,"FooBar"
dan"FOOBAR"
merupakan pengidentifikasi yang berbedafoobar
danFOOBAR
sama dengan"FOOBAR"
, di bawah potgresqlFOOBAR
danfoobar
lain-lain sama dengan"foobar"
.Mengutip dokumentasi :
Anda juga bisa menulisnya menggunakan pengenal yang dikutip :
Mengutip pengenal menjadikannya case-sensitive, sedangkan nama yang tidak dikutip selalu dilipat ke huruf kecil (tidak seperti standar SQL di mana nama yang tidak dikutip dilipat ke huruf besar). Sebagai contoh, pengidentifikasi
FOO
,,foo
dan"foo"
dianggap sama oleh PostgreSQL, tetapi"Foo"
dan"FOO"
berbeda dari ketiga dan satu sama lain.Jika Anda ingin menulis aplikasi portabel Anda disarankan untuk selalu mengutip nama tertentu atau tidak pernah mengutipnya.
sumber
Nama kolom yang merupakan case campuran atau huruf besar harus dikutip ganda dalam PostgresQL. Jadi konvensi terbaik akan mengikuti semua kasus kecil dengan garis bawah.
sumber