不同的数值数据类型在操作时有不同的优先级。在 OceanBase 中,BINARY_DOUBLE
的优先级最高,其次是 BINARY_FLOAT
,最后是 NUMBER
。
在对多个数值进行操作时:
若有一个操作数为
BINARY_DOUBLE
,OceanBase 会在执行该操作之前将所有操作数转换为BINARY_DOUBLE
。若有一个操作数为
BINARY_FLOAT
,OceanBase 会在执行该操作之前将所有操作数转换为BINARY_FLOAT
。若有一个操作数都不是
BINARY_DOUBLE
和BINARY_FLOAT
,OceanBase 会在执行该操作之前将所有操作数转换为NUMBER
。若所需要的转换失败,则该操作将失败。
与其他数据类型相比,数值数据类型的优先级低于日期时间与间隔数据类型,高于字符和所有其他数据类型。