最近在使用UNION时,发现,同我对不同的数据类型进行UNION时,返回数据到我的程序时,发生数据转换问题.而在SQLyog中却没有,因此想到,一定有一个可以解决的方案,经过探索,终于发现,如果在执行时,我们对数据类型进行转换,在程序这边就不会发生问题.如下
CONVERT(`ns_product_uph`.`UPH`,CHAR(50)) AS UPH
CONVERT(CONCAT('MAX:',MAX(`ns_product_uph`.`UPH`),' MIN:',MIN(`ns_product_uph`.`UPH`),' AVG:',AVG(`ns_product_uph`.`UPH`)),CHAR(50)) AS UPH
当然,转换时,要使用一定要能转换成功的类型,这点,就不在此说明了,例子如下.
SELECT CONVERT(`ns_product_uph`.`UPH`,CHAR(50)) AS UPH
UNION
SELECT CONVERT(CONCAT('MAX:',MAX(`ns_product_uph`.`UPH`),' MIN:',MIN(`ns_product_uph`.`UPH`),' AVG:',AVG(`ns_product_uph`.`UPH`)),CHAR(50)) AS UPH;