Oracle所有常用字段类型
一,字段类型、描述 、字段长度及其缺省值     
 1, CHAR  (size)     
用于保存定长(size)字节的字符串数据。  注意使用时的去空
    每行定长(不足部分补为空格);最大长度为每行2000字节,缺省值为每行1字节。设置长度(size)前需考虑字符集为单字节或多字节。 
  2,VARCHAR2  (size)     
    用于保存变长的字符串数据。其中最大字节长度由(size)指定。 
    每行长度可变,最大长度为每行4000字节。设置长度(size)前需考虑字符集为单字节或多字节。 
 3, NCHAR(size) 
    由字符集决定保存的是定长(size)的字符或字节。 
    每行定长(不足部分补为空格)。对固定宽度的字符集来说,长度(size)是指字符的个数,对变宽的字符集来说,长度(size)是指字节的个数。最大长度(size)取决于保存在一个字符中的字节的长度,每行的最大长度为2000字节。由字符集决定缺省值为1个字符或1个字节。
  4,NVARCHAR2  (size)   
    由字符集决定保存变长的字符或字节。其中最大长度由(size)指定。 
    每行变长。对固定宽度的字符集来说,长度(size)是指字符的个数,对变宽的字符集来说,长度(size)是指字节的个数。最大长度(size)取决于保存在一个字符中的字节的长度,每行的最大长度为4000字节。由字符集决定缺省值为1个字符或1个字节。 
   5,LONG     
    保存变长的字符串数据。 
    在表中每行的长度可变,最大长度为每行231  -  1字节或2G。 
    6,NUMBER  (p, s) 
    保存变长的数字。其中精度的最大值为p,或有效的数字位数s的最大值38。
    每行变长。每行的最大长度为21字节。
number型既可以用来表示整数,又可表示小数。P为数的精度,为数值中所有数字位的个数。S为数的刻度范围,是小数点右面数字位的个数。则允许的整数位的最大数字个数为p-sp的最大值为38 s的范围是-84~127
如果给变量赋予的值的整数位数超过了p-s的值,就会报错,如:
declare
  id number(5,1);
begin
  id:=12321;
  dbms_output.put_line(id);
end;
错误信息:
ERROR at line 1:
ORA-06502: PL/SQL: numeric or value error
ORA-06512: at line 4
如果给变量赋予的值的小数位数超过了s的大小,不会报错,但会按s的值截掉多出的部分,如:
declare
  id number(5,1);
begin
  id:=1.232;
  dbms_output.put_line(id);
end;
输出:1.2
    7,DATE    varchar2最大长度
    保存定长的日期或时间数据,范围为公元前4712/01/01到公元9999/12/31。
    每行固定为7字节长度,缺省值的日期描述(例如DD-MON-YY)由NLS_DATE_FORMAT参数设置。 
注意to_date方法和to_char方法对日期类型的格式化
如:to_date(2007-04-11 23:45:18 ,yyyy-mm-dd hh24-mi-ss )
         8,RAW  (size)     
    保存变长的二进制数据。最大长度由size指定。     
    在表中每行的长度可变,最大长度为每行2000字节。 
     
      9,LONG  RAW     
    保存变长的二进制数据。 
    在表中每行的长度可变,最大长度为每行231  -  1字节或2G。 
     
          10,BLOB     
    保存二进制数据,适合保持大文件(图片等)。 
    最大长度为232  -  1字节或4G。 
     
      11,CLOB     
    保存单字节字符数据,适合保持大文本。     
    最大长度为232  -  1字节或4G。 
     
      12,NCLOB     
    保存由字符集指定的单字节或固定宽度多字节或变宽多字节的字符数据。 
    最大长度为232  -  1字节或4G。 
 
13, BFILE     
    保存在外部文件的二进制数据。 
    最大长度为232  -  1字节或4G。
二,成员名称说明   
  BFile  Oracle  BFILE  数据类型,它包含存储在外部文件中的最大为  4  GB  的二进制数据的引用。使用  OracleParameter.Value  中的  OracleClient  OracleBFile  数据类型。 
      Blob  包含二进制数据的  Oracle  BLOB  数据类型,其最大大小为  4  GB。使用  OracleParameter.Value  中的  OracleClient  OracleLob  数据类型。 
     Byte  表示值在  0  和  255  之间的无符号  8  位整数的整数类型。这不是本机的  Oracle  数据类型,但是提供此类型以提高绑定输入参数时的性能。在  OracleParameter.Value  中使用  .NET  Framework  Byte  数据类型。 
     Char  Oracle  CHAR  数据类型,它包含最大为  2,000  字节的定长字符串。在  OracleParameter.Value  中使用  .NET  Framework  String  或  OracleClient  OracleString  数据类型。   
      Clob  包含字符数据的  Oracle  CLOB  数据类型,根据服务器的默认字符集,其最大大小为  4  GB。使用  OracleParameter.Value  中的  OracleClient  OracleLob  数据类型。   
      Cursor  Oracle  REF  CURSOR。OracleDataReader  对象不可用。   
  DateTime  Oracle  DATE  数据类型,它包含固定长度的日期和时间表示形式,范围从公元前  4712  年  1  月  1  日到公元  4712  年  12  月  31  日,默认格式为  dd-mmm-yy。对于公元日期,这会映射到  DateTime。要绑定公元前的日期,请分别对输入和输出参数使用  String  参数和  Oracle  TO_DATE  或  TO_CHAR  转换函数。在  OracleParameter.Value  中使用  .NET  Framework  DateTime  或  OracleClient  OracleDateTime  数据类型。   
  Double  一个双精度浮点值。这不是本机的  Oracle  数据类型,但是提供此类型以提高绑定输入参数时的性能。有关从  Oracle  数值转换到公共语言运行库数据类型的信息,请参见  OracleNumber。在  OracleParameter.Value  中使用  .NET  Framework  Double  或  OracleClient  OracleNumber  数据类型。 
  Float  单精度浮点值。这不是本机的  Oracle  数据类型,但是提供此类型以提高绑定输入参
数时的性能。有关从  Oracle  数值转换到公共语言运行库数据类型的信息,请参见  OracleNumber。在  OracleParameter.Value  中使用  .NET  Framework  Single  或  OracleClient  OracleNumber  数据类型。   
 
  LongRaw  包含变长二进制数据的  Oracle  LONGRAW  数据类型,其最大大小为  2  GB。在  OracleParameter.Value  中使用  .NET  Framework  Byte[]  或  OracleClient  OracleBinary  数据类型。   
  NChar  Oracle  NCHAR  数据类型,它包含要存储在数据库的区域字符集中的定长字符串,存储在数据库中时最大大小为  2,000  字节(不是字符)。Note:  值的大小依赖于数据库的区域字符集。有关更多信息,请参见  Oracle  文档。在  OracleParameter.Value  中使用  .NET  Framework  String  或  OracleClient  OracleString  数据类型。   
  NClob  Oracle  NCLOB  数据类型,它包含要存储在数据库的区域字符集中的字符数据,存储在数据库中时最大大小为  4  GB(不是字符)。Note:  值的大小依赖于数据库的区域字符
集。有关更多信息,请参见  Oracle  文档。在  OracleParameter.Value  中使用  OracleLob  数据类型。 
  Number  Oracle  NUMBER  数据类型,它包含最大精度和小数位数为  38  的变长数值数据。该数据类型将映射到  Decimal。要绑定超出  Decimal.MaxValue  可包含的  Oracle  NUMBER,请使用  OracleNumber  数据类型,或为输入参数和输出参数分别使用  String  参数和  Oracle  TO_NUMBER  或  TO_CHAR  转换函数。在  OracleParameter.Value  中使用  .NET  Framework  Decimal  或  OracleClient  OracleNumber  数据类型。 

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。