gpt4 book ai didi

Java:ResultSet getString() 因环境而异

转载 作者:搜寻专家 更新时间:2023-11-01 04:00:15 28 4
gpt4 key购买 nike

我有一个返回 oracle 日期对象的 SQL 查询。例如:

SELECT sysdate FROM DUAL

目前有代码执行以下操作:

String s = rs.getString("sysdate");

问题是,这会在不同的环境(数据库相同)上返回不同的日期格式。

一个环境将返回:2011-01-31 12:59:59.0

另一个会返回一些更奇怪的东西:2011-1-31 12.15.32.0(时间以小数分隔)

也许这与语言环境有关...一台机器是 java 报告的“英语(加拿大)”,另一台是“英语(美国)”。

我感兴趣的是,当结果集将日期对象转换为字符串时,该格式从何而来?

最佳答案

来自甲骨文的网站:

At database connection time, the JDBC Class Library sets the server NLS_LANGUAGE and NLS_TERRITORY parameters to correspond to the locale of the Java VM that runs the JDBC driver

是的,响应的不同是因为机器指定了不同的语言环境。正确的解决方案应该是使用 getDate() 或 getTimestamp() 或让数据库服务器以特定格式的字符串形式返回日期,如前所述。

关于Java:ResultSet getString() 因环境而异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5396056/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com