CAST() is useful for sorting ENUM columns in lexical order. : CAST « Cast Functions Operators « MySQL Tutorial






Normally, sorting of ENUM columns occurs using the internal numeric values.

Casting the values to CHAR results in a lexical sort:

mysql>
mysql> SELECT enum_col FROM tbl_name ORDER BY CAST(enum_col AS CHAR);
mysql>
mysql>








17.3.CAST
17.3.1.CAST(expr AS type), CONVERT(expr,type), CONVERT(expr USING transcoding_name)
17.3.2.Converting the string 'abc' in the default character set to the corresponding string in the utf8 character set:
17.3.3.Convert blob column to char type
17.3.4.The cast functions are useful when you want to create a column with a specific type in a CREATE ... SELECT statement:
17.3.5.CAST() is useful for sorting ENUM columns in lexical order.
17.3.6.CAST() also changes the result if you use it as part of a more complex expression such as CONCAT('Date: ',CAST(NOW() AS DATE)).
17.3.7.SELECT CAST(1 AS UNSIGNED) - 2.0;