sql - Athena 中带有 % 符号的列的数据类型
问题描述
我有一个 csv 文件,其中包含一个带有比率的列,因此文件中包含 % 符号。我想在 Athena 中的该文件上映射一个表,但我不知道如何处理该特定列。我一直在使用小数(10,0),但它不起作用。
解决方案
使用键入为字符串的列创建表,然后使用例如CAST(REPLACE(col, '%') AS double)/100
删除 % 符号并将数值除以 100。
如果您想避免在每个查询中都这样做,您可以创建一个包含该操作的视图并针对该视图运行您的常规查询:
CREATE OR REPLACE VIEW the_rate_view AS
SELECT
*,
CAST(REPLACE(col, '%') AS double)/100 AS my_rate
FROM the_original_table
现在您可以使用the_rate_view
与 相同的方式the_original_table
,但也可以使用my_rate
将百分比转换为比率的列。
推荐阅读
- java - Spring批处理JobExecutionListener不起作用
- azure-logic-apps - ISE 中的逻辑应用程序 - 事件触发器(存储)不会触发,而 ISE 外部的逻辑应用程序会针对同一事件触发
- c++ - 如何创建从另一个线程到 Qt5 GUI 线程的 qDebug 信号
- reactjs - 样式 react-slick.neostack
- git - GIT - 合并与复制到主分支之间的优势比较
- permissions - 删除补丁集中其他人的标志需要哪些权限?
- laravel - Laravel - 如何显示软删除模型的详细信息
- spring-boot - Spring Boot 格式 Json 编码的 Timstamp
- java - 无法从 Java 中的服务器套接字接收响应
- css - 表列冻结在 Google Chrome 和 Mircrosoft Edge 中不起作用