[EMAIL PROTECTED] wrote: > Here is a direct quote from the ORACLE manual: > > <quote> On most platforms, the concatenation operator is two solid > vertical bars, as shown in Table 3-3. However, some IBM platforms use > broken vertical bars for this operator. When moving SQL script files > between systems having different character sets, such as between ASCII > and EBCDIC, vertical bars might not be translated into the vertical > bar required by the target Oracle environment. Oracle provides the > CONCAT character function as an alternative to the vertical bar operator > for cases when it is difficult or impossible to control translation > performed by operating system or network utilities. Use this function > in applications that will be moved between environments with differing > character sets. </quote>
Well, that is very interesting. I have noticed that the ASCII pipe sometimes has a break in it, but I never realized the solid and broken bar were ever treated as separate characters. My guess is that this Oracle note was from the early 1980's, and it was never removed or updated, but I now understand why they added CONCAT because long ago they had this translation issue with EBCDIC. Oracle has a tendency to keep things around forever, which is nice, but over the years it produces a system with lots of strange features that make the system hard to use. PostgreSQL has a tendency to remove old, unused stuff over time to keep the system easy to understand. This is part of the reason we have not added CONCAT, because it doesn't really add new functionality to the vast majority of our users. Sure, if someone wants to write scripts that work with PostgreSQL and Oracle EBCDIC machines, it would be nice to have, but for 99% of our users, it is just added cruft, and we have a tendency to try to reduce cruft rather than make 1% of people happy, especially when the extensibility system of PostgreSQL allows users to create their own CONCAT functions if they desire. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster