【发布时间】:2018-03-23 16:35:27
【问题描述】:
我有以下声明。我的预期是,如果价格低于 1.00,则显示 4 个有效数字,否则显示 2。
Select CAST(10.99 AS DECIMAL(38,4)) C
, CAST(10.99 AS DECIMAL(38,2)) D
, CAST(1 AS DECIMAL(38,4)) AS LESS
, CAST(1 AS DECIMAL(38,2)) AS GREATER
, (CASE
WHEN CAST(10.99 AS DECIMAL(38,4)) < CAST(1 AS DECIMAL(38,4)) THEN
CAST(10.99 AS DECIMAL(38,4))
ELSE CAST(10.99 AS DECIMAL(38,2))
END) AS PRICE_FORMATTED
FROM MY_PRICE_TBL ;
给出以下结果:
C D LESS GREATER PRICE_FORMATTED
10.9900 10.99 1.0000 1.00 10.9900
我在这个例子中明确地转换了所有内容,以表明 LESS 和 GREATER 列被正确转换,但格式被错误地拾取。我希望 PRICE_FORMATTED 值与 Col D 中的值相同
什么给了?
【问题讨论】:
标签: teradata