2017-02-09 13 views
0

Импорт таблицы из MySql в RedShift, MySql должны столбцами, которые time тип данныхКак сохранить только раз в Redshift HH: MM: SS

+-----------------+-------------+------+-----+---------+----------------+ 
| Field   | Type  | Null | Key | Default | Extra   | 
+-----------------+-------------+------+-----+---------+----------------+ 
| id    | int(11)  | NO | PRI | NULL | auto_increment | 
| typecode  | varchar(20) | NO |  | NULL |    | 
| slot_start_time | time  | NO |  | NULL |    | 
| slot_end_time | time  | NO |  | NULL |    | 
| parent_id  | int(11)  | NO |  | NULL |    | 
| createdon  | datetime | NO |  | NULL |    | 
| modifiedon  | datetime | NO |  | NULL |    | 
+-----------------+-------------+------+-----+---------+----------------+ 

Redshift не имеет тип данных времени из-за этого после импорта таблицы slot_start_time, slot_end_time колонны возвращают 1970-01-01 в этом случае slot_start_time, slot_end_time показать, как Date тип данных

Когда я ALTER как столбец в Redshift в качестве метки времени, то он будет возвращать '01/01/70 HH: MM»

Так как я могу сэкономить только время в RedShift.

ответ

0

Поскольку у вас нет столбца времени в Redshift, вы можете использовать ту же дату, например '1970-01-01', а затем добавить время.

тогда вы сможете запустить date_part в поле.

, например

select extract(hour from timestamp '2010-02-16 20:38:40'); 
date_part 
4

Я настоятельно рекомендую против попробовать такое предприятие. В конце концов вы можете использовать некоторый несовместимый тип данных, например string, который может помочь вам просто сохранить время, но будет катастрофический, когда вы действительно начнете запрашивать свои данные.

В худшем случае Redshift может даже не заполнить столбец даты, если он обнаружит, что тип данных несовместим, и весь столбец будет заполнен нулевыми значениями.

В таблице Redshift, хранить всю временную метку в формате

гггг-мм-дд чч: мм: сс (используйте любую дату заполнитель в формате, а дата не имеет никакого отношения к вам в любом случае)

и использовать любую из функций, чтобы извлекать только метку времени при запросе таблицы (иллюстрация показана ниже).

enter image description here

 Смежные вопросы

  • Нет связанных вопросов^_^