mysql SUM聚合运算的返回值为MYSQL_TYPE_NEWDECIMAL

比较新的版本中,mysql SUM聚合运算的返回值为MYSQL_TYPE_NEWDECIMAL。

目前OB中sum等聚合函数的返回值数据类型依赖于参与运算的列的数据类型。


MySQL中相关问题的bugfix:

https://github.com/ziutek/mymysql/issues/14

https://github.com/sidorares/nodejs-mysql-native/issues/49


'SUM()' field type is MYSQL_TYPE_NEWDECIMAL which was not supported until recently ( fixed with #48 )

I opened #50 for better error handling in similar problems.



enum enum_field_types { MYSQL_TYPE_DECIMAL, MYSQL_TYPE_TINY,

      MYSQL_TYPE_SHORT,  MYSQL_TYPE_LONG,
      MYSQL_TYPE_FLOAT,  MYSQL_TYPE_DOUBLE,
      MYSQL_TYPE_NULL,   MYSQL_TYPE_TIMESTAMP,
      MYSQL_TYPE_LONGLONG,MYSQL_TYPE_INT24,
      MYSQL_TYPE_DATE,   MYSQL_TYPE_TIME,
      MYSQL_TYPE_DATETIME, MYSQL_TYPE_YEAR,
      MYSQL_TYPE_NEWDATE, MYSQL_TYPE_VARCHAR,
      MYSQL_TYPE_BIT,  MYSQL_TYPE_NEWDECIMAL=246,
      MYSQL_TYPE_ENUM=247,
      MYSQL_TYPE_SET=248,
      MYSQL_TYPE_TINY_BLOB=249,
      MYSQL_TYPE_MEDIUM_BLOB=250,
      MYSQL_TYPE_LONG_BLOB=251,
      MYSQL_TYPE_BLOB=252,
      MYSQL_TYPE_VAR_STRING=253,
      MYSQL_TYPE_STRING=254,
      MYSQL_TYPE_GEOMETRY=255
};

你可能感兴趣的:(mysql,Date,String,null,float,Types)