在jsp中插入、查询oracle日期数据
2008-01-27 21:27
561 查看
向插入Oracle数据库插入Data数据格式十分麻烦,但是有两个函数比较好用,一个是to_date(),to_char()
to_date() 作用将字符类型按一定格式转化为日期类型:具体用法:to_date('2008-01-07' 19:34:07
,'yyyy-mm-dd'),前者为字符串,后者为转换日期格式,注意,前后两者要以一对应。如;to_date('2008-01-07' 19:34:07, 'yyyy-mm-dd hh24:mi:ss') 将得到具体的时间。以下给出我在开发过程中的一些应用。。。
先使用一个calendar.js,获得字符串型的时间,如2008-01-07 19:34:07
<%@ page import="java.util.Date,java.text.*,java.sql.*" contentType="text/html;charset=GB2312"%>
<jsp:useBean id="treeVect" scope="application" class="shMachine.shMachine"/>
<script type="text/javascript" language="javascript" src="calendar.js"></script>
<input type="text" name="start" value=""><input type=button value=第一天 onclick="setday(this,document.all.start)">
<input type="text" name="finish" value=""><input type=button value=第二天 onclick="setday(this,document.all.finish)">
<input type="Submit" name="login1" onclick="myform.submit()" value="完成">
比较两个日期间的时间差
public String countTime(String day1,String day2) throws Exception
...{
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// SimpleDateFormat myFmt2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date now = df.parse(day2);
java.util.Date date=df.parse(day1);
long l=now.getTime()-date.getTime();
long day=l/(24*60*60*1000);
long hour=(l/(60*60*1000)-day*24);
long min=((l/(60*1000))-day*24*60-hour*60);
long s=(l/1000-day*24*60*60-hour*60*60-min*60);
// System.out.println(""+day+"天"+hour+"小时"+min+"分"+s+"秒");
String time=""+day+"天"+hour+"小时"+min+"分"+s+"秒";
return time;
}
//获得时间格式,本例中含有一个javabean,向数据库中插入时间制,time是字段名
if(request.getParameter("start")!=null && request.getParameter("finish")!=null)
...{
String day1=new String(request.getParameter("start").getBytes("ISO8859_1"),"GBK");
String sql="insert into taskbox.time (time) values (to_date( '"+day1+"', 'YYYY-MM-DD hh24:mi:ss'))";
boolean success=treeVect.executeUpdate(sql);
out.println(success);
treeVect .executeClose();
}%>
查询时间,输出字符串型的时间数据
String sql="select to_char(time,'YYYY-MM-DD hh24:mi:ss') from taskbox.time where id='1'";
ResultSet rs=treeVect.executeQuery(sql);
while(rs.next())
...{ //Date time=rs.getDate(1);
String time=rs.getString(1);
out.print(time);
}
treeVect .executeClose();
to_date() 作用将字符类型按一定格式转化为日期类型:具体用法:to_date('2008-01-07' 19:34:07
,'yyyy-mm-dd'),前者为字符串,后者为转换日期格式,注意,前后两者要以一对应。如;to_date('2008-01-07' 19:34:07, 'yyyy-mm-dd hh24:mi:ss') 将得到具体的时间。以下给出我在开发过程中的一些应用。。。
先使用一个calendar.js,获得字符串型的时间,如2008-01-07 19:34:07
<%@ page import="java.util.Date,java.text.*,java.sql.*" contentType="text/html;charset=GB2312"%>
<jsp:useBean id="treeVect" scope="application" class="shMachine.shMachine"/>
<script type="text/javascript" language="javascript" src="calendar.js"></script>
<input type="text" name="start" value=""><input type=button value=第一天 onclick="setday(this,document.all.start)">
<input type="text" name="finish" value=""><input type=button value=第二天 onclick="setday(this,document.all.finish)">
<input type="Submit" name="login1" onclick="myform.submit()" value="完成">
比较两个日期间的时间差
public String countTime(String day1,String day2) throws Exception
...{
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// SimpleDateFormat myFmt2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date now = df.parse(day2);
java.util.Date date=df.parse(day1);
long l=now.getTime()-date.getTime();
long day=l/(24*60*60*1000);
long hour=(l/(60*60*1000)-day*24);
long min=((l/(60*1000))-day*24*60-hour*60);
long s=(l/1000-day*24*60*60-hour*60*60-min*60);
// System.out.println(""+day+"天"+hour+"小时"+min+"分"+s+"秒");
String time=""+day+"天"+hour+"小时"+min+"分"+s+"秒";
return time;
}
//获得时间格式,本例中含有一个javabean,向数据库中插入时间制,time是字段名
if(request.getParameter("start")!=null && request.getParameter("finish")!=null)
...{
String day1=new String(request.getParameter("start").getBytes("ISO8859_1"),"GBK");
String sql="insert into taskbox.time (time) values (to_date( '"+day1+"', 'YYYY-MM-DD hh24:mi:ss'))";
boolean success=treeVect.executeUpdate(sql);
out.println(success);
treeVect .executeClose();
}%>
查询时间,输出字符串型的时间数据
String sql="select to_char(time,'YYYY-MM-DD hh24:mi:ss') from taskbox.time where id='1'";
ResultSet rs=treeVect.executeQuery(sql);
while(rs.next())
...{ //Date time=rs.getDate(1);
String time=rs.getString(1);
out.print(time);
}
treeVect .executeClose();
相关文章推荐
- Oracle查询某段日期内某个时间段的数据
- oracle常用命令--插入/添加表数据之insert命令--插入日期
- 在Oracle使用sql语句中如何插入日期格式的数据
- ORACLE SQL: 从一个表中查询数据插入另一个表中
- ORA-01855: AM/A.M. or PM/P.M. required问题排查与解析---向Oracle中插入日期数据时出现的问题
- ORACLE插入日期数据
- ORACLE SQL: 从一个表中查询数据插入另一个表中
- 查询离指定日期最近的一条数据(oracle)
- oracle 查询开始和结束日期之间的数据(闭区间)
- oracle中从4个表查询数据并插入到另一张表里 扩展到查询到的数据和其他数据共同插入
- oracle日期的查询和插入
- Oracle插入日期数据常见的2个问题和解决方法
- oracle 通过查询灵活插入数据 insert into ...select..
- Oracle 定时查询数据插入新表中(job+存储过程)
- oracle 查询一个日期区间内每天每个时段的数据量
- Oracle无法插入含有日期的数据
- oracle --sql--查询日期区间的数据
- oracle创建表空间,创建用户,创建表,插入数据,查询
- linux shell脚本连接oracle查询数据插入文件和日志文件中
- 将查询出来的表数据修改一个或几个字段后,再插入到表中(oracle)