如何更改 Netezza 中的日期格式?
Posted
技术标签:
【中文标题】如何更改 Netezza 中的日期格式?【英文标题】:How to change date format in Netezza? 【发布时间】:2014-08-13 19:59:51 【问题描述】:我在 Netezza DB 中有一个日期时间字段 (startdatetime) 存储为 varchar,因为 SSIS 正在截断 milisec,我希望 datetime 直到 milisec。
所以现在我的 startdatetime 值就像 2014-1-2 11:23:31.921000000 我想要它 2014-01-02 11:23:31.921 长度应该是 23。我该怎么做?
所以我正在做的是我想做增量加载,所以我从表中获取 max(startdatetime) 并将其与来自源的 startdatetime (datetime 数据类型) 字段进行比较,因此当 startdatetime > max(startdatetime) 时,加载那个新数据。因此,为此我需要将其转换为 2014-01-02 11:23:31.921
感谢您的帮助。
【问题讨论】:
我不清楚你在这里要求什么。在对该名称的所有列的引用中,startdatetime 是作为 VARCHAR 存储在 Netezza 中,还是一些时间戳?您是在问如何将时间戳的 VARCHAR 表示形式与实际时间戳进行比较? 也许一些示例 DDL 会有所帮助 【参考方案1】:我认为您要的是 to_char 函数,特别是to_char(startdatetime, 'YYYY-MM-DD HH-MI-SS.US')
。见IBM's documentation。
如果最后仍然留下太多的“0”字符,请尝试使用正则表达式函数来替换它。
regexp_replace(to_char(startdatetime, 'YYYY-MM-DD HH-MI-SS.US'), '0+$', '')
【讨论】:
以上是关于如何更改 Netezza 中的日期格式?的主要内容,如果未能解决你的问题,请参考以下文章
用于将数字 YYYYMMDD 格式转换为日期的 Netezza SQL 语法
由于日期格式,将数据从 txt 文件导入 IBM netezza SQL 数据库时出错