By default, MySQL searches are case-insensitive (but some character sets are always case-sensitive, such as Czech). This means that if you use col_name like ' a% ' to search, you will get all the columns starting with a or a. If you intend to make the search case-sensitive, make sure that one of the operands has case-sensitive or binary proofing. For example, if you are comparing columns and strings that all apply to the latin1 character set, you can use the COLLATE operator to make the 1 operands have Latin1_general_cs or latin1_bin proofing properties. For example:
col_name COLLATE latin1_general_cs LIKE 'a%'
col_name LIKE 'a%' COLLATE latin1_general_cs
col_name COLLATE latin1_bin LIKE 'a%'
col_name LIKE 'a%' COLLATE latin1_bin
If you want to always handle a column in a case-sensitive manner, you can declare it by using case-sensitive or binary proofing.
Simple comparison operations (>=,, =,,, <=, sorting, and grouping) are based on the "sorted value" of each character. Characters with the same sort value (such as ' e ', ' e ', and ' é ') will be treated as the same character.