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