ANSI Casting Timestamp Netezza - 从 Teradata 转换 SQL
我目前不知道 ANSI 相当于 Teradata FORMAT 关键字,用于将时间戳、日期数据类型转换为我们所需的表示格式。我知道这可以通过 to_char、to_date 来完成,就像单个数据库特定函数一样,但我想用 ANSI 编写,以便将来我可以轻松地将运行的代码从一个数据库移动到另一个数据库。下面是我正在尝试将其转换为 ANSI 的当前 Teradata SQL,以便我可以在 Teradata、Netezza 和 Vertica 等上运行它。
SELECT
CAST( (MYTIME ( FORMAT 'DDMMYYYY')) AS CHAR( 8 ))
|| CAST( (MYTIME (FORMAT 'HHMISS')) AS CHAR(6))
|| CAST(CAST(MYNUMBER AS FORMAT'-9(5)') AS CHAR(5))
FROM MYTABLE
;
目前我不知道如何翻译 FORMAT 'HHMISS'、FORMAT '-9(5) ' 进入 ANSI。是否有关于这种可能的 ANSI 等效函数(如果有)的任何文档?请帮忙。
I currently do not know ANSI equivalent to Teradata FORMAT key word for converting timestamp, date data types into our required representation formats. I know this can be done with to_char, to_date like individual database specific functions, But I want to write in ANSI so that in future I can easily move code running from one DB to another. Below is the current Teradata SQL I am trying to convert into ANSI so that I can run it on both Teradata ,Netezza and Vertica etc.
SELECT
CAST( (MYTIME ( FORMAT 'DDMMYYYY')) AS CHAR( 8 ))
|| CAST( (MYTIME (FORMAT 'HHMISS')) AS CHAR(6))
|| CAST(CAST(MYNUMBER AS FORMAT'-9(5)') AS CHAR(5))
FROM MYTABLE
;
Currently I don't know how to translate the FORMAT 'HHMISS', FORMAT '-9(5)' into ANSI. Is there any documentation on this possible ANSI equivalent functions if any? Please help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以尝试 EXTRACT() 函数。 YMMV,但大多数现代 RDBMS 都支持它。这里确实没有好的答案 - 每个 DBMS 处理“日期格式”问题的方式都不同且令人困惑。
You can try the EXTRACT() function. YMMV, but most modern RDBMS's support it. There's really no good answer here - every DBMS handles "date formatting" issues differently and confusingly.
在 Teradata 中,您应该能够执行以下操作: 可以
尝试的另一个选项:
我的经验是,您必须对每个数据库以不同的方式处理日期和时间戳。一种解决方案可能不会被普遍接受。但我很想看到一些可以在 Teradata、Oracle、SQL Server、MySQL 等中运行的东西。
In Teradata you should be able to do the following:
Another option to try:
My experience has been that you have to treat dates and timestamps differently with each database. One solution may not be universally accepted. But I'd love to see something that works in Teradata, Oracle, SQL Server, MySQL, etc.