Yeap, seems reasonable. Tim.
On Wed, Mar 06, 2002 at 04:49:58PM -0800, Jeff Zucker wrote: > Tim Bunce wrote: > > > > On Wed, Mar 06, 2002 at 03:04:51PM -0800, Jeff Zucker wrote: > > > > > It's from the PDF of SQL92 I purchased from www.ansi.org. But here's > > > the text: > > > > > > 13) > > > A <regular identifier> and a <delimited identifier> are equiva- > > > lent if the <identifier body> of the <regular identifier> (with > > > every letter that is a lower-case letter replaced by the equiva- > > > lent upper-case letter or letters) and the <delimited identifier > > > body> of the <delimited identifier> (with all occurrences of > > > <quote> replaced by <quote symbol> and all occurrences of <dou- > > > blequote symbol> replaced by <double quote>), considered as > > > the repetition of a <character string literal> that specifies a > > > <character set specification> of SQL_TEXT and an implementation- > > > defined collation that is sensitive to case, compare equally > > > according to the comparison rules in Subclause 8.2, "<comparison > > > predicate>". > > > > > > > Perhaps, but the paragraph above seems too daft to be worth living with :) > > Aha, you know what, I think I just figured out why it isn't daft and why > your suggestion to use mixed case matching (BooB = "BooB") can't work: > > Rule A - Regular identifiers are case INSENSITIVE > Rule B - Delimited identifiers are case SENSITIVE > > Therefore, these are the same as each other: > > x1 boob > x2 BooB > x3 BOOB > > And these are different from each other: > > y1 "boob" > y2 "BooB" > y3 "BOOB" > > If we allow group x to be equivalent to group y on the basis of mixed > case, then we'd end up either with the three identifiers in group x > different from each other (a violation of rule A) or the 3 identifiers > in group y as the same as each other (a violation of rule B). So we can > never use mixed case to determiine the equivalence. So we have to > arbitrarily say that x1,x2,x3 as a group are all equal to one and only > one of group y, either the lower case or the upper case. The standards > says that would be upper case to avoid confusion. > > So, not so daft after all? > > -- > Jeff