字段类型 描述 字段长度及其缺省值
CHAR (size)
用于保存定长(size)字节的字符串数据。
每行定长(不足部分补为空格);最大长度为每行2000字节,缺省值为每行1字节。设置长度(size)前需考虑字符集为单字节或多字节。
VARCHAR2 (size)
用于保存变长的字符串数据。其中最大字节长度由(size)指定。
每行长度可变,最大长度为每行4000字节。设置长度(size)前需考虑字符集为单字节或多字节。
NCHAR(size)
由字符集决定保存的是定长(size)的字符或字节。
每行定长(不足部分补为空格)。 对固定宽度的字符集来说,长度(size)是指字符的个数,对变宽的字符集来说,长度(size)是指字节的个数。最大长度(size)取决于保存在一个字符中的字节的长度,每行的最大长度为2000字节。由字符集决定缺省值为1个字符或1个字节。
NVARCHAR2 (size)
由字符集决定保存变长的字符或字节。其中最大长度由(size)指定。
每行变长。对固定宽度的字符集来说,长度(size)是指字符的个数,对变宽的字符集来说,长度(size)是指字节的个数。最大长度(size)取决于保存在一个字符中的字节的长度,每行的最大长度为4000字节。由字符集决定缺省值为1个字符或1个字节。
LONG
保存变长的字符串数据。
在表中每行的长度可变,最大长度为每行231 - 1字节或2G。
NUMBER (p, s)
保存变长的数字。其中精度的最大值为p,和/或有效的数字位数s的最大值38。
每行变长。每行的最大长度为21字节。
DATE
保存定长的日期或时间数据,范围为公元前4712/01/01到公元9999/12/31。
每行固定为7字节长度,缺省值的日期描述(例如DD-MON-YY)由NLS_DATE_FORMAT参数设置。
RAW (size)
保存变长的二进制数据。最大长度由size指定。
在表中每行的长度可变,最大长度为每行2000字节。
LONG RAW
保存变长的二进制数据。
在表中每行的长度可变,最大长度为每行231 - 1字节或2G。
BLOB
保存二进制数据。
最大长度为232 - 1字节或4G。
CLOB
保存单字节字符数据。
最大长度为232 - 1字节或4G。
NCLOB
保存由字符集指定的单字节或固定宽度多字节或变宽多字节的字符数据。
最大长度为232 - 1字节或4G。
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 数据类型。
Int16 表示值在 -32768 和 32767 之间的有符号 16 位整数的整数类型。这不是本机 Oracle 数据类型,但是提供此类型是为了改进绑定输入参数时的性能。有关从 Oracle 数值转换到公共语言运行库数据类型的信息,请参见 OracleNumber。在 OracleParameter.Value 中使用 .NET Framework Int16 或 OracleClient OracleNumber 数据类型。
Int32 表示值在 -2147483648 和 2147483647 之间的有符号 32 位整数的整数类型。这不是本机 Oracle 数据类型,但是提供此类型是为了提高绑定输入参数时的性能。有关从 Oracle 数值转换到公共语言运行库数据类型的信息,请参见 OracleNumber。在 OracleParameter.Value 中使用 .NET Framework Int32 或 OracleClient OracleNumber 数据类型。
IntervalDayToSecond Oracle INTERVAL DAY TO SECOND 数据类型(Oracle 9i 或更高版本),它包含以天、小时、分钟和秒为计量单位的时间间隔,大小固定,为 11 字节。在 OracleParameter.Value 中使用 .NET Framework TimeSpan 或 OracleClient OracleTimeSpan 数据类型。
IntervalYearToMonth Oracle INTERVAL YEAR TO MONTH 数据类型(Oracle 9i 或更高版本),它包含以年和月为单位的时间间隔,大小固定,为 5 字节。在 OracleParameter.Value 中使用 .NET Framework Int32 或 OracleClient OracleMonthSpan 数据类型。
LongRaw 包含变长二进制数据的 Oracle LONGRAW 数据类型,其最大大小为 2 GB。在 OracleParameter.Value 中使用 .NET Framework Byte[] 或 OracleClient OracleBinary 数据类型。
LongVarChar Oracle LONG 数据类型,它包含最大为 2 GB 的变长字符串。在 OracleParameter.Value 中使用 .NET Framework String 或 OracleClient OracleString 数据类型。
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 数据类型。
NVarChar Oracle NVARCHAR2 数据类型,它包含数据库的区域字符集中存储的变长字符串,存储在数据库中时最大大小为 4,000 字节(不是字符)。Note: 值的大小依赖于数据库的区域字符集。有关更多信息,请参见 Oracle 文档。在 OracleParameter.Value 中使用 .NET Framework String 或 OracleClient OracleString 数据类型。
Raw Oracle RAW 数据类型,它包含最大为 2,000 字节的变长二进制数据。在 OracleParameter.Value 中使用 .NET Framework Byte[] 或 OracleClient OracleBinary 数据类型。
RowId Oracle ROWID 数据类型的 base64 字符串表示形式。在 OracleParameter.Value 中使用 .NET Framework String 或 OracleClient OracleString 数据类型。
SByte 表示值在 -128 和 127 之间的有符号 8 位整数的整数类型。这不是本机 Oracle 数据类型,但是提供此类型是为了提高绑定输入参数时的性能。在 OracleParameter.Value 中使用 .NET Framework SByte 或 OracleClient y 数据类型。
Timestamp Oracle TIMESTAMP(Oracle 9i 或更高版本),它包含日期和时间(包括秒),大小范围从 7 字节到 11 字节。在 OracleParameter.Value 中使用 .NET Framework DateTime 或 OracleClient OracleDateTime 数据类型。
TimestampLocal Oracle TIMESTAMP WITH LOCAL TIMEZONE(Oracle 9i 或更高版本),它包含日期、时间和对原始时区的引用,大小范围从 7 字节到 11 字节。在 OracleParameter.Value 中使用 .NET Framework DateTime 或 OracleClient OracleDateTime 数据类型。
TimestampWithTZ Oracle TIMESTAMP WITH TIMEZONE(Oracle 9i 或更高版本),它包含日期、时间和指定时区,大小固定,为 13 字节。在 OracleParameter.Value 中使用 .NET Framework DateTime 或 OracleClient OracleDateTime 数据类型。
UInt16 表示值在 0 和 65535 之间的无符号 16 位整数的整数类型。这不是本机的 Oracle 数据类型,但是提供此类型以提高绑定输入参数时的性能。有关从 Oracle 数值转换到公共语言运行库数据类型的信息,请参见 OracleNumber。在 OracleParameter.Value 中使用 .NET Framework UInt16 或 OracleClient OracleNumber 数据类型。
UInt32 表示值在 0 和 4294967295 之间的无符号 32 位整数的整数类型。这不是本机的 Oracle 数据类型,但是提供此类型以提高绑定输入参数时的性能。有关从 Oracle 数值转换到公共语言运行库数据类型的信息,请参见 OracleNumber。在 OracleParameter.Value 中使用 .NET Framework UInt32 或 OracleClient OracleNumber 数据类型。
VarChar Oracle VARCHAR2 数据类型,它包含最大为 4,000 字节的变长字符串。在 OracleParameter.Value 中使用 .NET Framework String 或 OracleClient OracleString 数据类型。