1

我正在使用informix DB 11.70,这个问题让我非常恼火。
当我将客户端插入我的数据库时,无论我输入什么日期,当我取回日期时,它都会在 1894 年带来一些随机日期。
可能是什么问题?当我发送条目时它不会抛出任何错误,没有“日期无效月份”的废话。
请帮忙。

4

1 回答 1

3

Informix 的“纪元日期”是 01-01-1900。换句话说,日期零 = “12-31-1899”,日期 1 = “01-01-1900”,日期 2 = “01-02-1900”,今天(“09-24-2013”​​)以数字形式存储为 41540。

我认为您的客户端应用程序太聪明了一半,或者您没有在日期周围加上引号,并且无论哪种方式,服务器都将您的日期视为数字计算。

换句话说,您输入 05-11-2010 之类的内容,您的客户将其作为 5 减去 11 减去 2010 或 -2016 发送到数据库。天数 -2016 是“06/24/1894”。

我敢打赌,如果你用斜线而不是破折号输入日期(即“09/24/2013”​​),你总是会得到 9 除以 24 除以 2013 = 接近零 => “12/31/1899” .

您还没有说您是否通过 DB-Access、ODBC 或其他方式使用普通的旧 SQL。但我保证您的日期没有用引号括起来,因此被视为算术表达式。

于 2013-09-24T02:12:01.563 回答