Стандартная ошибка SQL в BigQuery, неверная отметка времени, когда поле даты вообще не затрагивается - PullRequest
0 голосов
/ 23 мая 2018

Ответ здесь мне не помогает.Хотя у меня возникла похожая проблема в довольно простом запросе на обновление, который выглядит следующим образом (идея заключается в добавлении кодировки sha-256 в устаревшие записи).

UPDATE 
'customer.customers` 
SET emailHashCode = (SELECT 
TO_HEX(SHA256(e.emailAddress))
FROM
`customer.customers`,
UNNEST(emailAddresses) AS e LIMIT 1)
WHERE emailHashCode IS NULL

Я получаю эту ошибку:

Невозможно вернуть недопустимое значение метки времени -62135600400000000 микросекунд относительно эпохи Unix.Диапазон допустимых значений меток времени: [0001-01-1 00:00:00, 9999-12-31 23: 59: 59.999999];ошибка записи поля dateOfBirth

В таблице есть поле dataOfBirth, но оно не затрагивается.Любопытно, если что-то базовое отсутствует?Спасибо за любую подсказку!

Ответы [ 2 ]

0 голосов
/ 06 июля 2018

Прежде чем перейти к вашей проблеме с отметкой времени - во-первых, я хотел бы упомянуть, что, скорее всего, ваш первоначальный запрос неверен - я бы порекомендовал вам рассмотреть его ниже одного (предполагая, что emailAddresses - повторяющаяся запись с полем emailAddressв нем)

UPDATE 'customer.customers` 
SET emailHashCode = (
  SELECT TO_HEX(SHA256(e.emailAddress))
  FROM UNNEST(emailAddresses) AS e 
  LIMIT 1
)
WHERE emailHashCode IS NULL

Итак, теперь вернемся к вашему вопросу: как упоминал Эллиотт - вам нужно обновить недопустимые временные метки как часть того же запроса.Я не проверял - но попробуйте ниже

UPDATE 'customer.customers` 
SET emailHashCode = (
  SELECT TO_HEX(SHA256(e.emailAddress))
  FROM UNNEST(emailAddresses) AS e 
  LIMIT 1
), dateOfBirth = SAFE_CAST(dateOfBirth AS TIMESTAMP)
WHERE emailHashCode IS NULL
0 голосов
/ 05 июля 2018

У меня была та же проблема, проще всего исправить все строки с неправильными значениями dataOfBirth.

Я использовал SAFE_CAST, чтобы сделать это, попробуйте что-то вроде:

SAFE_CAST(dataOfBirth AS STRING) AS dataOfBirthString

Надеюсь, это поможет!

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