如果 String 值代表小于三位数年份的 DATE 值并设置了 DBCENTURY ,则 GBase 8s
JDBC Driver 将此 String 值转换为 DATE 值,
并使用DBCENTURY 属性决定年份的正确的
四位数扩展。
下表总结了受影响的方法和受影响的条件。
方法
条件
PreparedStatement.setString(int, String)
目标列为
DATE。
PreparedStatement.setObject(int, String)
目标列为
DATE。
IfxPreparedStatement.IfxSetObject(String)
目标列为
DATE。
ResultSet.getDate(int)ResultSet.getDate(int,
Calendar)ResultSet.getDate(String)ResultSet.getDate(String,
Calendar)
源列
为 String
类型。
ResultSet.getTimestamp(int)ResultSet. getTimestamp(int,
Calendar)ResultSet.getTimestamp(String)ResultSet.getTimestamp(St
ring, Calendar)
源列
为 String
类型。
ResultSet.updateString(int,
String)ResultSet.updateString(String, String)
目标列为
DATE。
ResultSet.updateObject(int, String)ResultSet.updateObject(int,
String, int)ResultSet.updateObject(String,
String)ResultSet.updateObject(String, String, int)
目标列为
DATE。
下表描述了 DBCENTURY 环境变量的四个可能值。
设置 含义
描述
P
过去
使用过去和现在的世纪来扩展年份的值。
F
未来
使用现在和下一世纪来扩展年份的值。
GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 227
-
C
近期
使用过去、现在和下一世纪来扩展年份的值。
R
现在
使用本世纪扩展年份的值。
有关每个设置的算法和示例的信息,
请参阅
《GBase 8s SQL 指南:
参考》
的 "环境变量" 章
节。
以下是设置 DBCENTURY 值的 URL 示例:
jdbc:gbasedbt-sqli://myhost:1533:gbasedbtserver=myserver;
user=myname;password=mypasswd;DBCENTURY=F;
URL 不能有换行符。
当 GBase 8s JDBC Driver 将 java.sql.Date 和 java.sql.Timestamp 值发送到服务器时,它通常
包含四位数的年份。同样,服务器将 GBase 8s 日期值发送到 GBase 8s JDBC Driver 时,它
通常包含四位数的年份。
有关如何用 GBase 8s JDBC Driver 使用 DBCENTURY ,请参阅 DBCENTURYSelect.java 、
DBCENTURYSelect2.java 、DBCENTURYSelect3.java、
DBCENTURYSelect4.java 和 DBCENTURYSelect5.java 示例程序。