Re: bit-strings with white space
=?utf-8?q?PG_Doc_comments_form?= writes: > Postgresql 9.6, section 4.1.2.5 says that bit-strings can spill over > multiple lines, same as regular string constants. I tried SELECTing such and > found that they may only contain characters '0' and '1'. As indeed the text says. What the continuation mention is talking about is this syntax: regression=# select b'10001' '00100'; ?column? 1000100100 (1 row) which works like regression=# select 'foo' 'bar'; ?column? -- foobar (1 row) Perhaps there's something we could change to make this clearer, but I'm not sure what. regards, tom lane
Re: bit-strings with white space
On 4/22/18 12:18 PM, Tom Lane wrote: regression=# select 'foo' 'bar'; ?column? -- foobar (1 row) Perhaps there's something we could change to make this clearer, but I'm not sure what. I had no idea you could do that. While there's probably some wordy description that could explain this, I think an example is probably the best bet. Are there any other data types that work like this? -- Jim C. Nasby, Data Architect j...@nasby.net 512.569.9461 (cell) http://jim.nasby.net
Re: bit-strings with white space
On Sunday, April 22, 2018, Jim Nasby wrote: > On 4/22/18 12:18 PM, Tom Lane wrote: > >> regression=# select 'foo' >> 'bar'; >> ?column? >> -- >> foobar >> (1 row) >> >> Perhaps there's something we could change to make this clearer, >> but I'm not sure what. >> > > I had no idea you could do that. While there's probably some wordy > description that could explain this, I think an example is probably the > best bet. Are there any other data types that work like this? > > This structural "normalization" gets applied before types get involved. Two literals only separated by a newline are concatenated together. Any type name prefix, E or b prefix, :: cast, or cast() application then gets applied to the combined literal. The sql syntax section on this could maybe use another example or two but does communicate the behavior reasonably well. https://www.postgresql.org/docs/10/static/sql-syntax-lexical.html#SQL-SYNTAX-CONSTANTS David J.