Java往Oracle中插入timestamp类型数据

2024-11-17 02:01:03
推荐回答(3个)
回答1:

删掉这行:
Timestamp stamp = DateConventer.strWithtimeToTimestamp("2009-02-07 12:10:30");
改成
String stamp = "2009-02-07 12:10:30";

然后把:
String executeSql = "insert into TB_Tickets (TicketID,TicketName," +
"StadiumID,Price,Descn,BeginTime) values("+"seq_mp.nextval"+",?,?,?,?,"
+stamp+")";
改成:
String executeSql = "insert into TB_Tickets (TicketID,TicketName,"
+ "StadiumID,Price,Descn,BeginTime) values(" + "seq_mp.nextval"
+ ",?,?,?,?,to_date('" + stamp + "','yyyy-mm-dd hh24:mi:ss'))";
就可以了,试试看

按照你补充为题所说的,那你就需要使用PreparedStatement进行数据加载:
imestamp stamp = DateConventer.strWithtimeToTimestamp("2009-02-07 12:10:30");
String executeSql =".....";
PreparedStatement.setTimestamp(parameterIndex,Timestamp)

回答2:

你要么修改数据字典,把timestamp的格式改成'yyyy-mm-dd hh24:mi:ss'
要么就严格按照当前oracle所支持的格式来插入数据
要么就只能使用to_date函数了

我的oracle默认是的timestamp是这种格式:
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
可以自己修改成想要的格式

回答3:

只能说明是格式有问题 或者说语法, 插入时间好像需要 to_date 把时间yyyy-mm-dd hh24-mi-ss 指定为格式 再插2009-02-07 12:10:30哦