为什么对decimal数据类型进行带过滤条件的查询时会出现异常输出?
问题
当对decimal数据类型进行带过滤条件的查询时,输出结果不正确。
例如,
select * from carbon_table where num = 1234567890123456.22;
输出结果:
+------+---------------------+--+ | name | num | +------+---------------------+--+ | IAA | 1234567890123456.22 | | IAA | 1234567890123456.21 | +------+---------------------+--+
回答
为了得到准确的输出结果,需在数字后面加上“BD”。
例如,
select * from carbon_table where num = 1234567890123456.22BD;
输出结果:
+------+---------------------+--+ | name | num | +------+---------------------+--+ | IAA | 1234567890123456.22 | +------+---------------------+--+