>日期时间数据类型 日期时间数据类型用于存储日期和时间值。 a:date { 用于存储固定长度的日期和时间数据。它支持的日期范围为:从公元前(B.C.E)4712年1月1日到公元(C.E)9999年12月31日。 date数据类型包括时间。 日期函数sysdate返回当前日期和时间。 初使化参数NLS_DATE_FORMAT用于设置默认日期格式。 } b: timestamp { 用于存储日期和时间。是date数据类型的扩展,它存储年,月,日,小时,分钟和秒。 日期函数SYSTIMESTAMP返回当前的日期时间信息。 语法: timestamp [(precision)] 其中: precision:是精度。它代表秒字段小数部分中的位数。必须使用0到9之间的整数文字。默认为6。 初使化参数NLS_TIMESTAMP_FORMAT用于设置默认的timestamp格式。 } >布尔数据类型 用于存储逻辑值。 boolean { 用于存储逻辑值true,false和null。 只允许对boolean变量执行逻辑操作。 } lob类型 大对象(lob)数据类型用于存储非结构化数据。大小限于4GB。DBMS_LOB程序包用于操作lob数据。 >bfile 用于将大型二进制对象存储在操作系统文件中。即文件定位器。 定位器包含一个目录的别名,用于指定目录的完整路径。 bfile数据类型的数据是只读的,不能修改。 语法: bfilename('目录别名','文件名') 其中: 目录别名使用create directiry语句创建。 >blob 用于将大型二进制对象存储在数据库中。blob数据类型可用于事务处理。 例: 要在表中插入图象,先使用create directory 目录名 as '系统目录';创建一个目录名。 使用grant read on directory 目录名 to 用户;授予读取权限。 declare l_bfile bfile; l_blob blob; begin insert into 表名('blob类型的列名') values (EMPTY_BLOB()) return 列名 into l_blob; l_bfile :=BFILENAME('目录别名','文件名'); DBMS_LOB.OPEN(l_bfile,DDMS_LOB.FILE_READONLY); --打开文件 DBMS_LOB.LOADFROMFIFE(l_blob,l_bfile,DBMS_LOB.GETLENGTH(l_bfile)); --加载到l_blob变量中。 DBMS_CLOSE(l_bfile); --关闭l_bfile文件。 commit; END; / ***************************************************** oracle中插入一个blob数据 (来自Google) create or replace directory utllobdir as 'c:\xxx'; --你的BLOB文件所在位置。 create table bfile_tab (bfile_column BFILE); create table t (blob_column BLOB); ---------------------------------------- declare a_blob BLOB; a_bfile BFILE := BFILENAME('UTLLOBDIR','BLOB文件名'); begin insert into bfile_tab values (a_bfile) returning bfile_column into a_bfile; insert into t values (empty_blob()) returning blob_column into a_blob; dbms_lob.fileopen(a_bfile); dbms_lob.loadfromfile(a_blob, a_bfile, dbms_lob.getlength(a_bfile)); dbms_lob.fileclose(a_bfile); commit; end;