Стандартный SQL выдает ошибку НЕПРАВИЛЬНОГО ВВОДА

#google-bigquery

#google-bigquery

Вопрос:

Как избежать ошибок типа «Неверное значение int64: 72 017» в стандартном SQL в BQ? Пожалуйста, дайте мне знать методы преобразования 17 в 17

Комментарии:

1. Я думаю, нам нужно больше контекста здесь

Ответ №1:

Возможно, вам потребуется экранировать обратную косую черту, если она есть в ваших данных … тогда, возможно, есть пик в REGEXP_REPLACE и SAFE_CAST … это может быть хорошим подходом, если ваши данные несколько загрязнены.

 #standard sql :

with cte as ( select 72 a , '\01d7f' b union all select 82 , '\018'  )  
  

выберите a , REGEXP_REPLACE(b,'[^0-9 ]’,») , a / safe_cast(REGEXP_REPLACE(b,'[^0-9 ]’,») как числовой) из cte

 a   f0_ f1_
72  017 4.235294118
82  018 4.555555556