(1)在英文版本的Oracle中默认日期格式为'DD-MON-YY',例如'01-JAN-98'
to_date()函数的参数是to_char()函数参数的反转。
变量定义如下:
date_format为合法的Oracle日期格式。
下列更新语句均符合ORACLE的日期格式,更新成功:
create table student (name varchar2(10) notnull primary key , enrolldate date not null);//创建student表
(3)转换日期为字符串
使用ORACLE内部函数to_char()
变量定义如下:
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'));
3、
insert into student values('mark9',to_date('21-08-2003 20:28:03','DD-MM-YYYY HH24:MI:SS')); //同时在一条记录中插入日期和时间的方法
insert into student values('mark',to_date('21-08-2003 09:52:03','DD-MM-YYYY HH:MI:SS')); //同时在一条记录中插入日期和时间的方法
4、to_char()函数,'DD-MM-YYYY'格式及'MM-DD-YYYY'格式和'month dd,yyyy'格式的不同
'DD-MM-YYYY'格式:21-08-2003
'month dd,yyyy'格式:8月 21,2003
5、注意:在日期和时间格式中非常容易混淆的是月份和秒的格式(即MM和MI)
在SQLPlus*Worksheet中执行下列语句,不报错。
insert into student values('王嘉',to_date('08:05','HH24:MM'));//08被认为是小时,05被认为是月份。
insert into student values('熊',sysdate+7);