如何使用SQL SELECT将数字数据类型分配给新列

时间:2019-03-09 02:14:02

标签: mysql sql

我正在使用SQL SELECT生成查询表,如下所示。这样会在“自由现金流量(美元毫米)”列中用2位数字格式化数字,但结果列数据类型为“文本”。

我该如何分配数字数据类型,例如用2位数字“浮动”到新列“自由现金流量(美元毫米)”?

SELECT
     (format(("fcf" / "fxusd") / 1000000, 2) as 'Free Cashflow (USD mm)'
FROM  "SF1"

1 个答案:

答案 0 :(得分:1)

您可以CASTDECIMAL。请注意,对于> = 1000的值,FORMAT将在结果中插入,,这将阻止CAST正常工作。由于FORMAT实际上只是将值ROUND设置为给定的小数位数,因此您可以使用ROUND来解决该问题:

SELECT
     CAST(ROUND(("fcf" / "fxusd") / 1000000, 2) AS DECIMAL(9,2)) as 'Free Cashflow (USD mm)'
FROM  "SF1"

Demo on dbfiddle