转换访问VDB (TEIID)时的时间戳



我是TEIID和VDB的新手。根据我的需要,我需要使用Postgres SQL通过验证转换的时间戳来提取VDB数据。

问题是

下面是我要执行的示例查询。

select col1, col2, col3 from (EXEC my_Views.get_mytable('2022-01-01 00:00:00.000', now())) as TAB where my_date >= to_char(to_timestamp('2022-06-15T08:27:00.599Z','YYYY-MM-DD"T"HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS')

问题是,WHERE子句中没有发生转换。

我面临的问题是

当我每次在postgres中尝试不同的转换技巧时,我得到了不同的问题。

(1)

ERROR: TEIID31100解析错误:遇到"‘2022 - 06 - 15 t08:27:00.599z’,‘YYYY-MM-DD" T"HH24: MI: SS),"[] YYYY [] -MM"在第1行,第672列。正期待着:& & &;|"between"|"in"|"女儿家;|"like"|"like_regex"|"not"|"or"|"order"|"similar"TEIID31100: TEIID31100遇到错误:"‘2022 - 06 - 15 t08:27:00.599z’,‘YYYY-MM-DD" T"HH24: MI: SS),"[] YYYY [] -MM"在第1行,第672列。正期待着:& & &;|"between"|"in"|"女儿家;|"like"|"like_regex"|"not"|"or"|"order"|"similar"执行查询nil

时出错

(2)

错误:TEIID30068函数'date_trunc('second'),cast('2022-06-15T08:31:00.731Z' AS timestamp))'是一个未知的形式。检查函数名和参数数量是否为teiidsqlexception: TEIID30068函数'date_trunc('second', cast('2022-06-15T08:31:00.731Z'作为时间戳))'是一种未知的形式。检查函数的名称和编号执行查询nil

时出错

我试着

select col1,col2,col3 from (EXEC my_Views.get_mytable('2022-01-01 00:00:00.000', now())) as TAB where my_date >= to_char(to_timestamp('2022-06-15T08:27:00.599Z','YYYY-MM-DD"T"HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS')
select col1, col2, col3 from (EXEC my_Views.get_mytable('2022-01-01 00:00:00.000', now())) as TAB where my_date >= date_trunc('second', '2022-06-15T08:27:00.599Z'::timestamp)

我觉得转换问题会解决的。

输入TS: '2022-06-15TZ "(YYYY-MM-DDTHH: mm: ss。Z )

预期时间:'2022-06-15 08:27:00' (YYYY-MM-DD HH:mm:ss)

我最初认为这是postgres的问题,后来我意识到这不是postgres的问题。我在postgres中应用了一些转换技术,但运气不好。这些转换查询是工作在DB小提琴,但不是在python和postgres。

希望我的东西能帮助你理解这个问题。请帮我解决这个问题。

谢谢。

在teiid函数中没有特定的函数可以转换我想要的TS格式。在我的例子中,我使用substr捕获所需的TS。它工作。

参考链接teiid

相关内容

  • 没有找到相关文章

最新更新