gpt4 book ai didi

mysql - 如何在 Redshift HH :MM:SS 中只保存时间

转载 作者:太空宇宙 更新时间:2023-11-03 10:39:03 25 4
gpt4 key购买 nike

从 MySql 导入表到 RedShift,MySql 必须为 time 数据类型的列

+-----------------+-------------+------+-----+---------+----------------+
| 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 中只节省时间。

最佳答案

我强烈建议不要尝试这种冒险。您最终可能会使用一些不兼容的数据类型,例如 string,它实际上可以帮助您存储时间,但当你实际上开始查询你的数据。

在最坏的情况下,如果 Redshift 发现数据类型不兼容并且整个列将填充空值,它甚至可能不会填充日期列。

在Redshift表中,以格式存储整个时间戳

yyyy-mm-dd hh:mm:ss (use any placeholder date in the format; as date is irrelevant to you in any case)

并使用任何函数在查询表时仅提取时间戳(如下图所示)。

enter image description here

关于mysql - 如何在 Redshift HH :MM:SS 中只保存时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42130337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com