我正在使用AmazonWebServicesAuroraMySQL5.7.12和MySql.datadriverversion8.0.11.0。我在不同的环境(测试、开发等)中有相同模式的数据库。我有一个具有以下代码行的存储过程:
CAST(0 + IFNULL(m.isPassage, 0) AS UNSIGNED INTEGER) AS 'isPassage',
在我的一个环境中,它作为UINT64返回到服务器端,在另一个环境中,它作为UINT32返回。换句话说,DbDataReader.GetValue返回的对象类型的名称不同。
是否有一个参数或其他东西决定了这个转换的大小?在这两种情况下,isPassage列都定义为:
isPassage bit(1) DEFAULT NULL