gpt4 book ai didi

php - 在 Oracle 中始终获得 2 位小数的最佳方法是什么?

转载 作者:可可西里 更新时间:2023-11-01 00:58:56 27 4
gpt4 key购买 nike

让 Oracle 返回的值始终保留 2 位小数的最佳方法是什么?

目前我将所有与数据库相关的 PHP 函数包装在 number_format 等中,但我想将它们直接移动到 SQL 查询中。

更好的是,当我连接到 Oracle 时,是否有一个我可以设置或类似的环境变量,这样我就不必这样做了?

function OrderNetTotal($id) {
global $dbh;

$sth = $dbh->prepare("SELECT net_total FROM order_totals WHERE order_no = $id");

$sth->execute();
$result = $sth->fetchAll();

return number_format((float)$result[0]['0'], 2, '.', '');
}

注意:我无法编辑数据库架构等。

最佳答案

那么你可以使用 ROUND()

$sth = $dbh->prepare("SELECT ROUND(net_total,2) FROM order_totals WHERE order_no = $id");

或者更好:

$sth = $dbh->prepare("SELECT TO_CHAR(net_total,'99.99') FROM order_totals WHERE order_no = $id");

关于php - 在 Oracle 中始终获得 2 位小数的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33077012/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com