我在db中有十进制列,并尝试仅使用php中的查询从int数字(100,200,300)中删除尾随零。我尝试了修剪/演员功能,但10.50变为10.5。
SELECT TRIM(TRAILING '0' FROM `my_column`) FROM `mytable`
200.00
10.50
247.09
将显示为
200
10.50
247.09
答案 0 :(得分:1)
使用case expression
确定数字是否是使用ceil()
的整数,以及是否为小数为零的格式,如果不是2位小数。
SELECT
CASE WHEN ceil(n) = n THEN format(n, 0) ELSE format(n, 2) END
FROM (
SELECT
1234.5 AS n
UNION ALL
SELECT
1234
) d