Re: #escape_string_warning = off
От | Jeff Davis |
---|---|
Тема | Re: #escape_string_warning = off |
Дата | |
Msg-id | 42EFFF43.2090503@empires.org обсуждение исходный текст |
Ответ на | Re: #escape_string_warning = off (Dennis Bjorklund <db@zigo.dhs.org>) |
Ответы |
Re: #escape_string_warning = off
|
Список | pgsql-hackers |
Dennis Bjorklund wrote: > On Tue, 2 Aug 2005, Jeff Davis wrote: > > >>>>Does the SQL standard provide no way to have a NULL character in a >>>>string constant? Is single-quote the only special character? >>> >>>I don't think it forbids you from using the null character. It's not like >>>the strings are zero terminated. Some encodings might not allow the null >>>character, but that's different. >> >>But doesn't PostgreSQL forbid us from using the NULL character in a >>query at all? Don't we always have to escape or encode it in some way? > > > Pg does not allow \0 in strings at all. Try SELECT 'abc\0def'; in the > current version of pg. > > The sql standard doesn't forbid null values in strings as far as I know > and that's all I talked about. To have a sql standard string with null > inside you just insert the 0 byte (for normal single byte encodings), no > escaping needed. I guess what I'm trying to find out: does this mean that after all this change to the way strings are handled in the future, PostgreSQL still won't be standards-compliant for the basic '' string? Also, let's say I have apps now in 7.4/8.0, and I want them to be forward-compatible. Should I make a type called E so that the E'' notation will work, and then use that for strings? What is the "right" way to do it? I found a few things in the archives, but I didn't see these particular things addressed. Regards,Jeff Davis
В списке pgsql-hackers по дате отправления: