我正在使用SQL SELECT生成查询表,如下所示。这样会在“自由现金流量(美元毫米)”列中用2位数字格式化数字,但结果列数据类型为“文本”。
我该如何分配数字数据类型,例如用2位数字“浮动”到新列“自由现金流量(美元毫米)”?
SELECT
(format(("fcf" / "fxusd") / 1000000, 2) as 'Free Cashflow (USD mm)'
FROM "SF1"
答案 0 :(得分:1)
您可以CAST
到DECIMAL
。请注意,对于> = 1000的值,FORMAT
将在结果中插入,
,这将阻止CAST
正常工作。由于FORMAT
实际上只是将值ROUND
设置为给定的小数位数,因此您可以使用ROUND
来解决该问题:
SELECT
CAST(ROUND(("fcf" / "fxusd") / 1000000, 2) AS DECIMAL(9,2)) as 'Free Cashflow (USD mm)'
FROM "SF1"