首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Informix >

急关于informix数据库日期格式有关问题

2012-02-12 
急,关于informix数据库日期格式问题!我有个问题很急,希望高手可以帮帮我!首先,说一下我的环境:数据库:info

急,关于informix数据库日期格式问题!
我有个问题很急,希望高手可以帮帮我!
首先,说一下我的环境:

数据库:informix 9.30.FC5,它的DBDATE=Y4MD/。
操作系统:HP-UNIX
中间件:Weblogic 8.1

然后,
我在java类里调用一条sql语句,例如:
select * from tb1 where rdate=?
现在这个?参数我不能确定是以什么形式进去的。
rdate是个日期类型的字段。

按理最终在数据库里应该是转换成YYYY/MM/DD的格式到数据库表里去匹配的。

可以确定的一点是,我的程序里是以"YYYYMMDD"的字符串形式给sql语句赋值的。

我有两套环境,测试环境1,测试环境2。
当然,两套环境的数据库、操作系统、中间件都是一样的。

现在,我的测试环境1可以执行那个类而不报错。
而测试环境2的却不行,我也不知道究竟哪里的配置出了问题,希望有高手可以指点指点!

我没多少分,希望大家不要介意!
也希望大家多给给意见!
谢谢了!

哦!差点忘了,数据库报的错误代码是 79802,该错误的具体描述如下:

-79802 Not enough tokens are specified in the string representation of a
date value.

This error occurs because the date string specified does not have the
minimum number of tokens or separators needed to form a valid date value
(composed of year, month, and day numerical parts). For example, 12/15/98
is a valid date string representation with the slash character as the
separator or token. But 12/1598 is not a valid date string representation,
because there are not enough separators or tokens. To fix the problem,
modify the date string representation to include a valid format for
separating the day, month, and year parts of a date value.




[解决办法]
请确认你所使用的测试用户环境变量中DBDATE的格式无误。

Informix数据库中的日期实际是以长整型存放的。为保证数据库日期格式处理不因为环境变量的差异而出错,最好把日期转换为长整型,再与数据库记录匹配。
[解决办法]
试试用这样的语句:
where rdate="YYYY/MM/DD"

而不是
where rdate=YYYYMMDD 或 where rdate=YYYY/MM/DD
[解决办法]
试试转换 你的变量类型 WHERE rdate=TO_DATE(?,"%Y/%m/%d)

热点排行