是我的存储过程
create procedure sp_process_job(@request_id varchar(25), @host varchar(20),
created_on varchar(25)
)
as
begin
set dateformat mdy
SELECT CAST(@created_on as datetime)
insert into t_job_details(request_id ,host, created_on)
values(@request_id,@host,@created_on)
end
当我使用SELECT CAST(@created_on as datetime)
我的输出为2012-06-22 00:00:00.0
时间为00:00:00.0
我希望它为12:45:06.0
。为什么我在所有地方都得到0?
编辑: 从java代码
调用上述过程Date date = new Date();
Date insert_date = new java.sql.Date(date.getTime());
String insertquery = "{ call sp_process_job (?,?,?) }";
cs = con.prepareCall(insertquery.toString());
cs.setString(1, id);
cs.setString(2, host);
cs.setDate(3, (java.sql.Date) insert_date);
cs.execute();
con.commit();
答案 0 :(得分:0)
我想你应该在Java代码中使用java.sql.Timestamp
而不是java.sql.date,它只保存日期而不是时间。还有cs.setTimestamp
java.sql.Timestamp insert_date = new java.sql.Timestamp(date.getTime());
....
cs.setTimestamp(3, insert_date);