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 по дате отправления: