我正试图在AWS Athena上进行查询,在那里我只想过滤varchar列中的数字条目。但是,Athena不支持ISNUMERIC功能。我看到了一些有用的功能,但它们只适用于Amazon Redshift,而不适用于AWS Athena。有什么方法可以在雅典娜身上应用这种类型的过滤器吗?非常感谢。
您可以使用try()
:执行此操作
...
WHERE try(CAST(my_column AS double)) IS NOT NULL
您可以使用regexp_like
:
…
WHERE regexp_like(my_column, '^-?d+$')
这将匹配正整数和负整数,如果你想匹配小数,你当然需要一个更复杂的模式。