разобрать строку формы даты в bigquery - PullRequest
0 голосов
/ 07 сентября 2018

У меня есть таблица в bigquery с именем столбца "timeStamp" с типом данных STRING. Значение в этом столбце выглядит так: «20180902».

Вот как я пытаюсь проанализировать эту строку на сегодняшний день

SELECT PARSE_DATE('%Y%m%d', timeStamp) AS date FROM data.data_temp

Но при этом выдается сообщение об ошибке "Не удалось проанализировать входную строку" timeStamp ""

Кроме того, в то же время следующий запрос успешно работает и возвращает дату как «2018-09-02»

SELECT PARSE_DATE('%Y%m%d', '20180902') AS date FROM data.data_temp

Есть какие-нибудь подсказки о том, что здесь происходит и как это решить?

Ответы [ 2 ]

0 голосов
/ 07 сентября 2018

Пример ниже показывает, что если значение действительно "20180902", как вы утверждаете, оно должно работать

#standardSQL
WITH `project.dataset.table` AS (
  SELECT '20180902' timeStamp   
)
SELECT 
  `timeStamp`, 
  PARSE_DATE('%Y%m%d', timeStamp    ) AS date    
FROM `project.dataset.table`

с результатом как

Row   timeStamp   date   
1     20180902    2018-09-02     

поэтому проблема может заключаться в неправильном значении в некоторых строках - и вам нужно определить эти строки

0 голосов
/ 07 сентября 2018

Я нашел проблему. В моей таблице была строка внизу со значением timeStamp. Удалил этот ряд и все заработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...