我们今天主要向大家讲述的是Oracle date类型字段处理的实际相关应用,以及Oracle/JSP技术所涉及到日期、时间等一些问题的处理,你如果是Oracle date类型字段处理疯狂一族的话,以下的文章,你一定不要错过。
Oracle/JSP技术涉及日期、时间问题的处理
(1)在英文版本的Oracle中默认日期格式为’DD-MON-YY’,例如’01-JAN-98′
在汉化的中文版本中Oracle默认日期格式为’日-月-年’,例如’21-8月-2003’或’21-8月-03′
(2)转换字符串为日期
使用Oracle内部函数to_date()
to_date()函数的参数是to_char()函数参数的反转。
to_date(string_value,date_format)
变量定义如下:
string_value :为字符串直接值(字符串本身)、字符串列(数据库中定义的某个表的某列)或某字符串内部函数的返回值。
date_format为合法的Oracle日期格式。
下列更新语句均符合Oracle的日期格式,更新成功:
createtablestudent(namevarchar2(10) notnullprimarykey,enrolldatedatenotnull);
创建student表
insertintostudentvalues ('mark',to_date ('08-21-2003','MM-DD-YYYY')); insertintostudentvalues ('mark1',to_date('21-08-2003','DD-MM-YYYY')); insertintostudentvalues('mark2','21-8月-2003'); insertintoxiongxiaomin.studentvalues ('mark3','21-8月-03');
(3)转换日期为字符串
使用Oracle内部函数to_char()
to_char(date_value,date_format)
变量定义如下:
date_value :为日期型直接值(日期本身)、日期型列值(数据库中定义的某个表的某列)或某内部函数的返回的日期型值。
date_format为合法的Oracle日期格式。
选择enrolldate字段的时间部分:
select(to_char(enrolldate,'HH24:MI:SS')) enrolldatefromstudent;
(4)注意:Oracle date数据类型定义的列包含日期和时间。
1、系统当前日期为2003年8月21日,之后执行下列语句
insertintostudentvalues ('mark5',to_date('09:28:03','HH:MI:SS'));
注意此种在一条记录的date类型字段中插入时间的方法,系统默认的日期为系统当前日期所在月份的***天,因此得到的记录为
Nameenrolldate
mark5 01-八月 -2003 09:28:03 AM
2、修改系统当前日期为2003年7月21日,之后执行下列语句
insertintostudentvalues ('mark6',to_date('09:28:03','HH:MI:SS'));
得到的记录为
Nameenrolldate mark601-七月-200309:28:03AM insertintostudentvalues('mark8',to_date('20:28:03','HH24:MI:SS'));