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

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match

Reply via email to