Handle dates
http://www.rgagnon.com/javadetails/java-0114.html

Handle dates

To get the current date in SQL format. java.util.Date today =
new java.util.Date();
java.sql.Date sqlToday =
new java.sql.Date(today.getTime());

For Timestamp, it's the same idea java.util.Date today =
new java.util.Date();
java.sql.Timestamp now =
new java.sql.Date(today.getTime());

To use a Date, Time or Timestamp in a query, you can use JDBC escape codes. Date {d 'yyyy-mm-dd'}
Time {t {'hh:mm:ss'}
Timestamp {ts `yyyy-mm-dd hh:mm:ss.f . . .'}
note: the .f .... is optional

For example, a Statement with a Date will look like this java.util.Date today =
new java.util.Date();
java.sql.Date sqlToday =
new java.sql.Date(today.getTime());

String query =
"select * from cust where purchase_date < { d '" + sqlDate.toString() + "' }");


With a PreparedStatement, you don't need JDBC escape codes, the JDBC driver will do the job for you. java.util.Date today =
new java.util.Date();
java.sql.Date sqlToday =
new java.sql.Date(today.getTime());

PreparedStatement p = theConn.prepareStatement
(
"select * from cust where purchase_date < ?");
p.setDate(1, sqlToday);
ResultSet rs = p.executeQuery();

To INSERT PreparedStatement p = theConn.prepareStatement
(
"insert into TableWithADateColumn values(?)");
p.setDate(1, sqlToday);
p.executeUpdate();

or p.executeUpdate
(
"insert into TableWithADateColumn values( { d '1999-12-31' } )");




hofman   2005-11-19 22:55:39 评论:0   阅读:303   引用:0

发表评论>>

署名发表(评论可管理,不必输入下面的姓名)

姓名:

主题:

内容: 最少15个,最长1000个字符

验证码: (如不清楚,请刷新)

Copyright@2008 powered by YuLog