我试图从格式化0,5的mysql数据库中获取一个float值。选择它,我得到0作为响应。我如何获取浮点值?

我以这种方式选择它:

    $requete = $this->bdd->bd->prepare('SELECT charge
                                        FROM detailsfiche
                                        WHERE ref_hl = :ref_hl
                                         && intervenant = :intervenant');
    $requete->bindValue(':ref_hl', $refhl, PDO::PARAM_INT);
    $requete->bindValue(':intervenant', $intervenant, PDO::PARAM_STR);
    $requete->execute();
    $data = $requete->fetch();
    $requete->CloseCursor();
    return $data['charge'];


提前致谢!

最佳答案

每个注释的charge字段为varchar,其值类似于0,5。在这种情况下,您可以使用REPLACE()函数将,替换为.

SELECT CAST(REPLACE(charge,',','.') AS float(5,3)) FROM detailsfiche
WHERE ref_hl = :ref_hl
AND intervenant = :intervenant

关于php - 如何从db获取浮点分析值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24718345/

10-10 12:27