Amazon web services 尽管使用Amazon Athena在书面查询中强制转换,但无法使用逻辑运算符

Amazon web services 尽管使用Amazon Athena在书面查询中强制转换,但无法使用逻辑运算符,amazon-web-services,amazon-s3,presto,amazon-athena,Amazon Web Services,Amazon S3,Presto,Amazon Athena,我无法在我的一列上使用逻辑运算符,即使我将其转换为大整数。“total_submitted_charge amount”作为字符串存储在我的数据库中。以下是我的疑问: SELECT npi, provider_last_name, provider_first_name, provider_mid_initial, provider_address_1, provider_address_2,

我无法在我的一列上使用逻辑运算符,即使我将其转换为大整数。“total_submitted_charge amount”作为字符串存储在我的数据库中。以下是我的疑问:

SELECT npi,
         provider_last_name,
         provider_first_name,
         provider_mid_initial,
         provider_address_1,
         provider_address_2,
         provider_city,
         provider_zipcode,
         provider_state_code,
         provider_country_code,
         provider_type,
         number_of_services,
         try_cast(CAST(REPLACE(total_submitted_charge_amount,
         ',') AS DECIMAL) AS BIGINT) AS total_submitted_amount
FROM cmsaggregatepayment2017
WHERE provider_zipcode='90250'

只要我添加
“和提交的总金额>2000”
,查询就停止工作。是否有人可以指导我

根据SQL规范,
提交的总金额
是一个投影,只能在“外部”范围内使用。也就是说,你可以

SELECT * FROM ( <your query> ) WHERE total_submitted_amount > 2000
SELECT*FROM(),其中提交的总金额>2000


...  并尝试将(cast(cast)(替换(提交的(总)(费用)金额",""小数")作为BIGINT
注意:第二次使用表达式不会对性能造成影响,在Presto中,每行仍将对其进行一次计算(Athena基于Presto)

< your query >
...  AND try_cast(CAST(REPLACE(total_submitted_charge_amount, ',') AS DECIMAL) AS BIGINT) > 2000