Я пытаюсь сделать запрос для AWS Афины, где я хочу отфильтровать только цифры c записей из столбца varchar. Однако Афина не поддерживает функцию ISNUMERI C. Я видел некоторые функции, которые были бы полезны, но они доступны только для Amazon Redshift, а не для AWS Athena. Есть ли способ применить этот тип фильтра на Афины? Спасибо.
Вы можете сделать это с помощью try():
try()
... WHERE try(CAST(my_column AS double)) IS NOT NULL
Вы можете использовать regexp_like:
regexp_like
… WHERE regexp_like(my_column, '^-?\d+$')
Это будет соответствовать положительным и отрицательным целым числам, если вы хотите сопоставить десятичные дроби, вам, конечно, нужен более сложный шаблон.