就用cnn.execSQL("update bid_user_tj set BUT_ONLINE='1' where BUT_DATE=to_date('"+rs4.getDate("BUT_DATE").toString()+"','y-m-d') and but_id='"+session.getAttribute("uid")+"'");
查询时定义输出格式用select to_char(but_date,'yyyy-mm-dd hh24:mi:ss') from ....
用 cnn.execSQL("update bid_user_tj set BUT_ONLINE='1' where BUT_DATE=to_date('"+rs4.getDate("BUT_DATE").toString()+" 00:00:00','yyyy-MM-dd hh24:mi:ss') and but_id='"+session.getAttribute("uid")+"'");
把java.sql.Date的toString方法转出的其格式是 yyyy-mm-dd,不带时间的。 所以你如果直接用toString的话会损失精度。 1 如果你不在乎time,只在乎日期,那么可以这样写: cnn.execSQL("update bid_user_tj set BUT_ONLINE='1' where BUT_DATE=to_date('"+rs4.getDate("BUT_DATE").toString()+"','yyyy-mm-dd') and but_id='"+session.getAttribute("uid")+"'"); 2 否则的话,建议把rs4.getDate("BUT_DATE")转换一下再使用。 3 最好的方式是不写死,用prepareStatement,传入date参数.
哪个rs4.getDate("BUT_DATE")怎么设置格式为yyyy-mm-dd HH24:mi:ss啊?
谢谢了!!
cnn.execSQL("update bid_user_tj set BUT_ONLINE='1' where BUT_DATE=to_date('"+rs4.getDate("BUT_DATE").toString()+" 00:00:00','yyyy-MM-dd hh24:mi:ss') and but_id='"+session.getAttribute("uid")+"'");
所以你如果直接用toString的话会损失精度。
1 如果你不在乎time,只在乎日期,那么可以这样写:
cnn.execSQL("update bid_user_tj set BUT_ONLINE='1' where BUT_DATE=to_date('"+rs4.getDate("BUT_DATE").toString()+"','yyyy-mm-dd') and but_id='"+session.getAttribute("uid")+"'");
2 否则的话,建议把rs4.getDate("BUT_DATE")转换一下再使用。
3 最好的方式是不写死,用prepareStatement,传入date参数.
把 rs4.getDate("BUT_DATE").toString()
该为:
rs4.getString("BUT_DATE")