select
LEAST(cast(123.4 as decimal(38,4)),cast(23.45 as decimal(38,4))) as reuslt1,
LEAST(cast(123.4 as decimal(38,4)),cast(23.45 as decimal(38,6))) as reuslt2,
LEAST(cast(123.4 as decimal(36,4)),cast(23.45 as decimal(36,6))) as reuslt3,
LEAST(cast(123.4 as decimal(36,4)),cast(23.45 as decimal(36,7))) as reuslt4
reuslt1|reuslt2 |reuslt3 |reuslt4 |
-------+--------+---------+--------+
23.4500|123.4000|23.450000|123.4000|
同样是 100.2 和20.3 两个数,如果精度相同,会取最小值20.3,如果精度不同,相差过大的时候会被转换成字符串进行比较,如果精度差别不大,还是根据数值类型计算。