在 MySQL 或 PHP 中隐藏 CAST SELECT 输出的前导 0
Hide leading 0 on CAST SELECT output either in MySQL or PHP
早上好,
我目前有一个 SELECT 语句计算一项运动的 PCT table:
SELECT team
, COUNT(*) as played
, SUM(win) as wins
, SUM(loss) as lost
, SUM(draw) as draws
, SUM(SelfScore) as ptsfor
, SUM(OpponentScore) as ptsagainst
, SUM((win*2 + draw)- loss) as score
, CAST(SUM(win + (draw/2))/SUM(win + loss + draw) as decimal(4,3)) as pctWon
如果球队赢得所有比赛,则显示为 1.000,这是正确的。
如果结果不是 1.000,我想删除前导 0。因此,对于 50% 的获胜,它将显示为 .500 而不是当前显示的 0.500。
我不确定在 PHP 或 MySQL 中是否最容易做到。
谢谢
这应该有效:
SELECT team
, COUNT(*) as played
, REPLACE(SUM(win), '0.', '.') as wins
, SUM(loss) as lost
, SUM(draw) as draws
, SUM(SelfScore) as ptsfor
, SUM(OpponentScore) as ptsagainst
, SUM((win*2 + draw)- loss) as score
, CAST(SUM(win + (draw/2))/SUM(win + loss + draw) as decimal(4,3)) as pctWon
早上好,
我目前有一个 SELECT 语句计算一项运动的 PCT table:
SELECT team
, COUNT(*) as played
, SUM(win) as wins
, SUM(loss) as lost
, SUM(draw) as draws
, SUM(SelfScore) as ptsfor
, SUM(OpponentScore) as ptsagainst
, SUM((win*2 + draw)- loss) as score
, CAST(SUM(win + (draw/2))/SUM(win + loss + draw) as decimal(4,3)) as pctWon
如果球队赢得所有比赛,则显示为 1.000,这是正确的。
如果结果不是 1.000,我想删除前导 0。因此,对于 50% 的获胜,它将显示为 .500 而不是当前显示的 0.500。
我不确定在 PHP 或 MySQL 中是否最容易做到。
谢谢
这应该有效:
SELECT team
, COUNT(*) as played
, REPLACE(SUM(win), '0.', '.') as wins
, SUM(loss) as lost
, SUM(draw) as draws
, SUM(SelfScore) as ptsfor
, SUM(OpponentScore) as ptsagainst
, SUM((win*2 + draw)- loss) as score
, CAST(SUM(win + (draw/2))/SUM(win + loss + draw) as decimal(4,3)) as pctWon