数据库
首页 > 数据库> > PHP-始终在Oracle中获得2位小数的最佳方法是什么?

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

作者:互联网

在Oracle返回的值中始终获得小数点后两位的最佳方法是什么?

目前,我将所有与数据库相关的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");

标签:oracle,number-formatting,sql,php
来源: https://codeday.me/bug/20191027/1947274.html