使用随值变化的格式转换MySQL十进制值

时间:2014-12-17 17:14:30

标签: mysql

我需要将DECIMAL字段转换为CHAR字段,其格式会因字段的值而异。

值来自供应商的数据库;他们将:

  • > 0
  • 值< 1将是十分之一(例如0.20)
  • values> = 1将是表示为小数的整数值(例如,100.00)

示例:

  • 值< 1:0.10, 0.20.1, .2
  • 值> = 1:4101.00, 95.004101, 95
  • 如果值>
  • 没有逗号999

目前的做法:

CASE
    WHEN id<1 THEN Cast(Round(item,1) AS Char)
    ELSE Cast(Round(item,0) AS Char)
END item

**编辑**

第二种方法:

Trim(TRAILING '.' FROM Trim(BOTH '0' FROM Cast(item AS Char))) Item

有更简洁的方法吗?

0 个答案:

没有答案