0

これは私の質問です

$sum = "SELECT htno, 
SUM(tm) AS tech, 
SUM(tm)/7.5 AS divi, 
SUM(credits) AS cred , 
SUM(CASE WHEN credits <= 0 THEN 1 ELSE 0 END) AS log,
SUM(CASE WHEN credits > 0 THEN 1 ELSE 0 END) AS pass, 
SUM(CASE WHEN em >= 0 THEN 1 ELSE 0 END) AS atm, 
SUM(CASE WHEN em >= -2 THEN 1 ELSE 0 END) AS tot
FROM jbit WHERE htno='$id'";

3 行目の 'SUM(tm)/7.5 As divi' クエリでは 79.2544555555 として出力されますが、79.25 として出力したい

友達を助けて

4

2 に答える 2

1

MySQL のFORMAT()が必要です。

数値 X を '#,###,###.##' のような形式にフォーマットし、小数点以下 D 桁に丸めて、結果を文字列として返します。

したがって、クエリは次のようになります。

$sum = "SELECT htno, 
SUM(tm) AS tech, 
FORMAT(SUM(tm)/7.5, 2) AS divi, 
SUM(credits) AS cred , 
SUM(CASE WHEN credits <= 0 THEN 1 ELSE 0 END) AS log,
SUM(CASE WHEN credits > 0 THEN 1 ELSE 0 END) AS pass, 
SUM(CASE WHEN em >= 0 THEN 1 ELSE 0 END) AS atm, 
SUM(CASE WHEN em >= -2 THEN 1 ELSE 0 END) AS tot
FROM jbit WHERE htno='$id'";
于 2012-09-22T15:28:19.950 に答える
1

TRUNCATE() を使用できます。

TRUNCATE(SUM(tm)/7.5 , 2) AS divi,

Truncate は '1.259' に対して '1.25' を提供します。丸めたい場合は、次を使用します。

ROUND(SUM(tm)/7.5 , 2) AS divi,

「1.259」に対して「1.26」が得られます

于 2012-09-22T15:29:57.297 に答える