请允许我问有关Redshift TIMESTAMP的更多问题。
当我们选择TIMESTAMP字段时,会出现错误500339或40483,但是使用To_Char公式,它可以按如下所示成功返回;
-- create test table on Redshift
create table test_datetime (
a timestamp
);
-- insert test data
insert into test_datetime values ('20180914 04:05:06.789')
-- get error when you select all that table
select * from test_dm_dbo.test_datetime
error : [Amazon](500339) Unexpected error consuming date type from server,
source data: "09/14/2018" 1 statement failed.
-- you can get correctly timestamp data to degignate datetime format
select to_char(a, 'YYYY-MM-DD HH24:MI:SS') as migrated_dt from test_datetime;
migrated_dt
----------------------
2018-09-14 04:05:06
select to_char(a, 'MM/DD/YYYY HH12:MI:SS') as migrated_dt from test_datetime;
migrated_dt
----------------------
09/14/2018 04:05:06
我想象我们的Redshift语言环境或其他需要进一步设置的内容,但是我不确定应该是什么以及应该如何。
如果您有任何解决方法来避免此类问题,那么任何建议都将非常有帮助。
最好的问候;
答案 0 :(得分:0)
F.Y.I。, 看来我们问题的原因是“ datestyle”。
最初,我们的日期样式被设置为“ SQL,YMD”,即使使用以下简单查询也返回错误;
show datestyle;
NAME SETTING
------------------------------------
datestyle SQL, YMD
-- returns error
select current_date;
[Amazon](500339) Unexpected error consuming date type from server, source data: "10/04/2018"
1 statement failed.
使用日期样式“ ISO,YMD”时,将返回日期值而不再发出问题;
-- change datestyle
set datestyle to 'ISO, YMD'
-- returns date value as expected
select current_date;
DATE
------------
2018-10-04
感谢您的关注和建议。 希望它能帮助遇到任何同类问题的人,特别是在美国以外的地区。
好的,