我們今天主要向大家講述的是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的日期格式,更新成功:
- create table student (name varchar2(10)
not null primary key , enrolldate date not null);
創建student表
- insert into student values
('mark',to_date
('08-21-2003','MM-DD-YYYY'));- insert into student values
('mark1',to_date('21-08-2003','DD-MM-YYYY'));- insert into student values('mark2','21-8月-2003');
- insert into xiongxiaomin.student values
('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'))
enrolldate from student;
(4)注意:Oracle date數據類型定義的列包含日期和時間。
1、系統當前日期為2003年8月21日,之後執行下列語句
- insert into student values
('mark5',to_date('09:28:03','HH:MI:SS'));
注意此種在一條記錄的date類型字段中插入時間的方法,系統默認的日期為系統當前日期所在月份的第一天,因此得到的記錄為
- Name enrolldate
mark5 01-八月 -2003 09:28:03 AM
2、修改系統當前日期為2003年7月21日,之後執行下列語句
- insert into student values
('mark6',to_date('09:28:03','HH:MI:SS'));
得到的記錄為
- Name enrolldate
- mark6 01-七月 -2003 09:28:03 AM
- insert into student values('mark8',to_date('20:28:03','HH24:MI:SS'));