我尝试搜索,但是似乎找不到在Postgresql中实现Banker的舍入模式的实现。我发现该线程正在努力在T-SQL https://www.sqlservercentral.com/Forums/Topic246556-8-1.aspx中创建实现。
例如,Andrew Vasylevskyy很好地给出了一些例子 银行家四舍五入的示例(.NET中Math.Round的结果):
Math.Round(3.454,2) -> 3.45
Math.Round(3.455,2) -> 3.46
Math.Round(3.445,2) -> 3.44
Math.Round(3.456,2) -> 3.46
基于该线程PostgreSQL round(v numeric, s int),似乎没有办法将默认round()
函数配置为使用特定模式,并且不使用Banker的舍入模式。我确实看到有round_half_even
或round_half_odd
,但据我了解,这与Banker的取整不一样。
有人创建了执行此操作的功能吗?或者可以添加扩展名来执行此操作?
答案 0 :(得分:1)
我不知道Postgres扩展是否实现了替代取整,这令人惊讶。我发现的最好的是this answer with implementations as functions。