Re: [SQL] "quoting" column names
От | Patrik Kudo |
---|---|
Тема | Re: [SQL] "quoting" column names |
Дата | |
Msg-id | 378B4AEB.60D6B07F@partitur.se обсуждение исходный текст |
Ответ на | Re: [SQL] "quoting" column names (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-sql |
Tom Lane wrote: > > Patrik Kudo <kudo@partitur.se> writes: > > create table login (userid text, when datetime); > > select when from login where userid = 'xxxx'; > > In 6.5 I have to do: > > select "when" from login where userid = 'xxxx'; > > Right ... WHEN is a keyword in CASE expressions, which didn't use to > be implemented but are now. Ah! that explains that part... > > My question now is, should I always quote column names, just in case, > > or should I only quote column names that are "almost reserved"? > > In theory you should only have to worry about keywords that are > reserved in SQL92 but that Postgres hasn't gotten around to implementing > yet. That's a fairly short list, I think, but I do not have the > details handy. (Anyone?) The list of reserved keywords can be found at:http://www.postgresql.org/ -> Info Central -> Documentation -> User's Guide -> SQL Syntax -> Key Words. That list doesn't say which need to be quoted though. > Quoting every column name in sight would make your SQL pretty unreadable > (pg_dump now does it by default ... try reading pg_dump commands :-(). > Also, if you have a reserved word as a column name, you won't be able > to access the table at all using tools that don't quote column names. > Better to rename your columns if you get burnt by this. Will do, will do... /Kudo
В списке pgsql-sql по дате отправления: