Ошибка неверной даты при изменении схемы таблицы больших запросов из строки (ГГГГ-ММ-ДД ЧЧ: ММ: СС ВРЕМЯ ИЗОБРАЖЕНИЯ) до даты - PullRequest
0 голосов
/ 21 мая 2018

У меня есть таблица со столбцом формата строки, где значение выглядит следующим образом:

YYYY-MM-DD HH:MM:SS TIMEZONE, например, 2015-08-27 19:42:53 UTC

UTC - единственный часовой пояс.Я хочу переписать этот столбец строки как столбец даты.У меня есть Invalid date error, когда я пытаюсь выполнить следующий запрос для экспорта результата в новую таблицу

SELECT
  CAST(my_date AS DATE),stuff_here,stuff_here
FROM
  `table`

Что нужно сделать, чтобы правильно изменить тип этого столбца со строки наДата ?

Ответы [ 2 ]

0 голосов
/ 21 мая 2018

Попробуйте:

SELECT CAST(SUBSTR(my_date,1,19) AS DATE,stuff_here,stuff_here
  FROM `table`

Предполагается, что вы не заинтересованы в части часового пояса.

0 голосов
/ 21 мая 2018

Вы, кажется, пытаетесь написать эту логику:

select CAST(substr('2015-08-27 19:42:53 UTC', 1, 10) AS DATE)

Поскольку я нахожусь в Нью-Йорке, я бы вместо этого написал:

select date(timestamp('2015-08-27 19:42:53 UTC'), 'America/New_York')

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

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