仅从整数

时间:2017-11-30 08:24:58

标签: mysql phpquery

我在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

1 个答案:

答案 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