【发布时间】:2015-02-04 18:19:20
【问题描述】:
Postgresql 8.3 可以理解以下语句:
SELECT '1.12:00:00'::interval
SELECT '12:00:00'::interval
SELECT '-12:00:00'::interval
但是下面的语句不理解:
SELECT '-1.12:00:00'::interval
我收到以下错误:
ERROR: invalid input syntax for type interval: "-1.00:02:00"
********** Error **********
ERROR: invalid input syntax for type interval: "-1.00:02:00"
SQL state: 22007
如何处理较大的负区间?
【问题讨论】:
-
为什么你认为一个区间可以在其input中接受一个点来分隔日期和时间?
-
哇,
interval '1.12:00:00'似乎被解析为interval '1 day 02:52:48',所以你应该把它读作 1.12 天(这很奇怪,但你不应该依赖这个)。 -
8.3 版自 2013 年 2 月起停产。请帮自己一个忙并升级到最新版本:8.3 版有几个严重的(安全)错误。 CVE-2013-1899 可能是最糟糕的。
-
升级问题完全是另一回事,可能会在明年夏天发生,或者由于迁移到 Sql 数据库 (Azure) 而永远不会发生。
-
感谢您的意见。点符号是由我的简单 c#-app 提供给我的,它将 .net-timespan 转换为 postgres-interval。我还没有超过一天的间隔测试我的例程,但我明天会这样做。
标签: postgresql intervals postgresql-8.3