INT类型的列在执行SUM时,如果超出INT类型的范围,会自动转换为BIGINT类型吗?如果不会,如何在查询时将INT类型转换成BIGINT类型?

解决方案 »

  1.   

    INT[(M)] [UNSIGNED] [ZEROFILL] A normal-size integer. The signed range is -2147483648 to 2147483647. The unsigned range is 0 to 4294967295. 不会,不能转换,只能修改字段类型
      

  2.   

    自己做个试验并不复杂。create table t (x int);
    insert into t values (2147483640),(2147483640);select sum(x) from t;这种问题不要问,自己勤快一点动手试验一下。
      

  3.   

    呃,教训的是,脑袋最近迷糊,没想到这样简单地试一下。试验结果,select sum 的返回结果没有溢出,输出的应该是BIGINT类型。