从红移中的时间戳字符串中提取时间戳
Extract timestamp from timestamp string in redshift
我正在处理两个 redshift table,每个都有不同格式的时间戳。
table 1 - start_date: 2013-07-26 07:30:17.0
table 2 - end_date: 20140517004819823Z
我的要求是两者采用相同的格式(例如 table 1,开始日期),这样我就可以使用 datediff 找到它们之间的间隔。
如何将 table 2 结束日期的格式设置为类似于 table 1。我试过了
cast(end_date 作为时间戳) 但它抛出 Invalid data code: 8001
编辑 1:
尝试使用 to_timestamp(end_date, 'YYYY-MM-DD HH24:MI:SS', false)
但它抛出 Invalid operation: value for "YYYY" in source string is out of range;
你会使用 TO_TIMESTAMP function - Amazon Redshift:
to_timestamp('20150425201043668Z', 'YYYYMMDDHH24MISSMSZ', true)
这翻译:
- 日期:
YYYYMMDD
- 小时:
HH24
- 分钟:
MI
- 秒:
SS
- 毫秒:
MS
我正在处理两个 redshift table,每个都有不同格式的时间戳。
table 1 - start_date: 2013-07-26 07:30:17.0
table 2 - end_date: 20140517004819823Z
我的要求是两者采用相同的格式(例如 table 1,开始日期),这样我就可以使用 datediff 找到它们之间的间隔。
如何将 table 2 结束日期的格式设置为类似于 table 1。我试过了
cast(end_date 作为时间戳) 但它抛出 Invalid data code: 8001
编辑 1:
尝试使用 to_timestamp(end_date, 'YYYY-MM-DD HH24:MI:SS', false)
但它抛出 Invalid operation: value for "YYYY" in source string is out of range;
你会使用 TO_TIMESTAMP function - Amazon Redshift:
to_timestamp('20150425201043668Z', 'YYYYMMDDHH24MISSMSZ', true)
这翻译:
- 日期:
YYYYMMDD
- 小时:
HH24
- 分钟:
MI
- 秒:
SS
- 毫秒:
MS