Want to know the type of an arbitrary expression in MySQL? Someday in the far far future in version 7.1, you might be able to with the TYPEOF() function.
For now you can try this:
CREATE TEMPORARY TABLE typeof AS SELECT [expression] AS col;
For example, let’s see what the type of CRC32 is.
mysql> CREATE TEMPORARY TABLE typeof AS SELECT CRC32('hello world') AS col; mysql> DESCRIBE typeof; +-------+------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+------------------+------+-----+---------+-------+ | col | int(10) unsigned | NO | | 0 | | +-------+------------------+------+-----+---------+-------+
This is one possible way to programmatically determine the type of an expression — even an arbitrarily complex one.
Not beautiful, but …
[Read more]