首页 > 解决方案 > Amazon Athena - 使用存储为字符串的数字查询列

问题描述

我有一个保险数据集,其中包括每个县的注册人数。但是,注册数量存储为字符串。我如何查询数据以获取诸如“查找注册人数超过 50 的计划”之类的内容。不幸的是,50 作为字符串存储在数据集中,所以我需要了解如何使用 athena 运行我的查询。有人可以帮忙吗

在此处输入图像描述

标签: amazon-web-servicesamazon-athena

解决方案


将字符串转换为浮点数,而不是整数,并在转换前删除逗号。这是一个例子:

with x AS 
    (SELECT '1,800,850.20' AS "value")
SELECT cast(replace(value,',', '') AS REAL)
FROM x

因此,您应该使用:

SELECT
  npi,
  CAST(REPLACE(total_submitted_charge_amount,',', '') AS REAL) AS charge_amount
FROM cmsaggregatepayment2017
WHERE CAST(REPLACE(total_submitted_charge_amount,',', '') > 100000
ORDER BY CAST(REPLACE(total_submitted_charge_amount,',', '') ASC
LIMIT 1000

推荐阅读