WEB开发网
开发学院数据库Oracle PL/SQL块定义部分之一标量类型 阅读

PL/SQL块定义部分之一标量类型

 2009-03-12 13:10:53 来源:WEB开发网   
核心提示: 注意:不能在SQL中使用该类型,10、ROWID和UROWID 在Oracle内部,PL/SQL块定义部分之一标量类型(6),每个数据表都有一个伪列ROWID,用于存放ROWID类型的二进制值,如果给定年和月,表示某年某月1日 0点0分0秒,每个ROWID代表了一行数据的存储地址,物理RO

注意:不能在SQL中使用该类型。

10、ROWID和UROWID

在Oracle内部,每个数据表都有一个伪列ROWID,用于存放ROWID类型的二进制值。每个ROWID代表了一行数据的存储地址。物理ROWID 能够标识普通数据表中的一行信息,而逻辑ROWID能够标识索引组织表(index-organized table)中的一行信息。其中ROWID类型只能存储物理内容,而UROWID(universal rowid)类型可以存储物理或者逻辑ROWID。

建议:只有在旧的应用程序中,为了兼容性我们才使用ROWID数据类型。对于新的应用程序,应该使用UROWID数据类型。

11、日期和时间类型

Date   该数据类型表示日期和时间,有效的范围是从公元前4721年1月1日到公元9999年12月31日。如果只给定年份,那么表示该年的1月1日 0点0分0秒。如果给定年和月,表示某年某月1日 0点0分0秒。

示例1:

 DECLARE
 hiredate Date;
 BEGIN
   hiredate:='01-2月-98';  --系统按照默认的方式将字符串转换成日期格式
   DBMS_OUTPUT.PUT_LINE(hiredate);
   hiredate:=TO_DATE('2008','YYYY');
   DBMS_OUTPUT.PUT_LINE(hiredate);
   hiredate:=TO_DATE('2008-03','YYYY-MM');
   DBMS_OUTPUT.PUT_LINE(hiredate);
   DBMS_OUTPUT.PUT_LINE(TO_CHAR(hiredate,'MM'));
 END;

结果如下:

01-1月 -08

更改显示方式:ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS';

重新运行结果如下:

2008-01-01 00:00:00

TIMESTAMP  该数据类型是对Date的扩展,对秒可以更精确的控制

示例2:

DECLARE
hiredate Timestamp(4);
BEGIN
  hiredate:='03-2月-98 07:08:43.23';
  DBMS_OUTPUT.PUT_LINE(hiredate);
  hiredate:=TO_TIMESTAMP('15:12:02.020', 'HH24:MI:SS.FF');
  DBMS_OUTPUT.PUT_LINE(hiredate);
END;

上一页  1 2 3 4 5 6 

Tags:PL SQL 定义

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接