There is something that I don't understand about this one.
The article that is referenced in the solution says:
"When sql_variant values of the char, varchar, nchar, or nvarchar data types are compared, their collations are first compared based on the following criteria: LCID, LCID version, comparison flags, and sort ID. Each of these criteria are COMPARED AS INTEGER VALUES, and in the order listed"... (capitalization is mine, not in BOL)
I looked at the ComparisionStyle property for the collations used in the question (using SELECT COLLATIONPROPERTY('[collation_name], 'ComparisonStyle')) and this is what I got
- latin1_general_bin = 0
- latin1_general_cs_as = 196608
- latin1_general_ci_as = 196609
- latin1_general_cs_ai = 196610
- latin1_general_ci_ai = 196611
Based on these results... I expected the order to be E, C, A, D, B...
I am obviously missing something, what is that?