Как назначить числовой тип данных новому столбцу с помощью SQL SELECT - PullRequest
0 голосов
/ 09 марта 2019

Я создаю таблицу запросов, используя SQL SELECT, как показано ниже.Это форматирует числа в столбце «Свободный денежный поток (мм в долларах США)» с двумя цифрами, но в результате тип данных столбца «текст».

Как я могу вместо этого присвоить числовой тип данных, например, «float» с 2 цифрами, новому столбцу «Free Cashflow (USD mm)»?

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

1 Ответ

1 голос
/ 09 марта 2019

Вы можете CAST до DECIMAL. Обратите внимание, что для значений> = 1000 FORMAT вставит в результат ,, что помешает правильной работе CAST. * * * * * * * * * * * * * * * * * * * * * * * * * * * * FORMAT * * * *1006* S * * 006 * S * 006 * S * * * * * * *1006* s Просто равно ROUND s значению для данного числа десятичных разрядов, вместо этого вы можете использовать ROUND для решения этой проблемы:

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

Демонстрация по dbfiddle

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...