Showing posts from April, 2013

SQL Server Collation

Question: I was putting together a small bit of SQL code the other day, and I was running into a bug. While debugging it, I was completely shocked to discover: IF 'a' < 'A'
SELECT 'a < A'

IF 'a' = 'A'
SELECT 'a = A'

IF 'a' > 'A'
SELECT 'a > A'

IF 'a' <> 'A'
SELECT 'a <> A'

displays only 'a = A'. I investigated and found out that the reason for this result is that the database's collation sequence is set to one of the "CI" values (Case Insensitive). I took a look at a couple of other databases, and they were also "CI". Oddly enough, they were slightly different collation sequence values, but definitely "CI". This includes the [master] database.

Yes, I know it could have been configured the other way. That's not the point of this note. Is "CI" the expected standard configuratio…