Netezza 时间戳失败

Posted

技术标签:

【中文标题】Netezza 时间戳失败【英文标题】:Netezza Timesptamp failing 【发布时间】:2013-01-10 11:32:48 【问题描述】:

我正在尝试以流的形式查询数据库:

select count(distinct(TE_ID)) from TE where LAST_UPDATE_TIME >= '2013-01-08-00:00:00.000000' and LAST_UPDATE_TIME < '2013-01-09-00:00:00.000000'

但是我收到的错误是:

 11:25:09  [SELECT - 0 row(s), 0.000 secs]  [Error Code: 1100, SQL State: HY000]  ERROR:  Bad timestamp external representation '2013-01-08-00:00:00.000000'

... 1 条语句已执行,0 行受影响,执行/获取时间:0.000/0.000 秒 [0 成功,0 警告,1 错误]

【问题讨论】:

【参考方案1】:

您提供的时间戳有一个额外的破折号。

你的:select cast('2013-01-08-00:00:00.000000' as timestamp)

应该是:select cast('2013-01-08 00:00:00.000000' as timestamp)

要控制它可能是一个好主意,像下面的示例一样显式转换:

to_timestamp('2013-01-08 00:00:00.000000','YYYY-MM-DD HH:MI:SS.US')

HH = 小时 MI = 分钟 SS = 第二 US = 微秒

【讨论】:

【参考方案2】:

试试这个:

  select count(distinct(TE_ID)) from TE where LAST_UPDATE_TIME >= '2013-01-08 00:00:00.000000' and LAST_UPDATE_TIME < '2013-01-09 00:00:00.000000'

【讨论】:

以上是关于Netezza 时间戳失败的主要内容,如果未能解决你的问题,请参考以下文章

Netezza 表的上次访问时间戳?

netezza 删除具有不同时间戳字段的记录,其中特定字段相同

将 Netezza 时间戳转换为儒略日数

在时间戳列中插入 Null 时,雪花复制到失败

SparkSQL 时间戳查询失败

确定 netezza 中行的加载日期