With the default collations in MySQL (e.g. utf8_general_ci
), strings will be matched case-insensitively:
WHERE col IN ('IT', 'Ruby')
will match “it” and “ruby”.
For case-sensitive matches, each string must be preceded by the keyword BINARY:
WHERE col IN (BINARY 'IT', BINARY 'Ruby')
Caveat: I would guess that BINARY affects the matching of strings with combining characters (same character, different byte representation).