Я загружаю данные из файлов csv в таблицы в AWS Athena. Существует строковый столбец со значениями varchar, такими как ABC123123
, и действительно большими числами, такими как 2588000000
(отображается в scientifi c формате 2.588E + 10) при разборе csv, и я хочу преобразовать только scientifi c формат с плавающей точкой, чтобы он отображался в формате 2588000000
, а не в формате scientifi c. Я пробовал следующее:
SELECT ..., cast(column2 as float) FROM "db"."table"
Но я, очевидно, не могу использовать CAST как float, поскольку в том же столбце есть значения varchar.
Я также пробовал следующее:
SELECT column1,
(CASE
WHEN column2 like '%E-%' THEN CAST(column2 AS FLOAT))
WHEN column2 like '%E+%' THEN CAST(column2 AS FLOAT))
ELSE column2
END)
FROM "db"."table"
И Афина выдала эту ошибку введите описание изображения здесь
Любая помощь приветствуется!