Oracle开发:常用的数据库字段类型[转]

本文详细介绍了Oracle数据库中常见的字段类型,包括CHAR、VARCHAR2、NCHAR、NVARCHAR2、DATE、LONG、RAW、LONGRAW、BLOB、CLOB、NCLOB、BFILE、ROWID、NROWID、NUMBER、DECIMAL、INTEGER、FLOAT、REAL,以及它们的特性、限制条件和使用场景。同时,对比了VARCHAR2在不同操作系统下字符占用字节数的区别。

Oracle常用的数据库字段类型如下:

字段类型

中文说明

限制条件

其它说明

CHAR

固定长度字符串

最大长度2000 bytes

 

VARCHAR2

可变长度的字符串

最大长度4000 bytes

可做索引的最大长度749

Byte/char,默认情况用的是Byte

NCHAR

根据字符集而定的固定长度字符串

最大长度2000 bytes

 

NVARCHAR2

根据字符集而定的可变长度字符串

最大长度4000 bytes

 

DATE

日期(日--年)

DD-MM-YYHH-MI-SS

经过严格测试,无千虫问题

LONG

超长字符串

最大长度2G231-1

足够存储大部头著作

RAW

固定长度的二进制数据

最大长度2000 bytes

可存放多媒体图象声音等

LONG RAW

可变长度的二进制数据

最大长度2G

同上

BLOB

二进制数据

最大长度4G

 

CLOB

字符数据

最大长度4G

 

NCLOB

根据字符集而定的字符数据

最大长度4G

 

BFILE

存放在数据库外的二进制数据

最大长度4G

 

ROWID

数据表中记录的唯一行号

10 bytes ********.****.****格式,*01

 

NROWID

二进制数据表中记录的唯一行号

最大长度4000 bytes

 

NUMBER(P,S)

数字类型

P为整数位,S为小数位

 

DECIMAL(P,S)

数字类型

P为整数位,S为小数位

 

INTEGER

整数类型

小的整数

 

FLOAT

浮点数类型

NUMBER(38),双精度

 

REAL

实数类型

NUMBER(63),精度更高

 

 

From <http://blog.sina.com.cn/s/blog_4ea1df2801007s99.html>

 

  • VARCHAR2 - Byte vs char

一个英文字母,一个数字,一个符号各占一个字节。一个汉字占两个字节。

CREATE TABLE TEST(

NAME VARCHAR2(2)

)

INSERT INTO TEST VALUES('测试');

Windows环境下:

报错信息:实际值4, 最大值2

可见在Windows默认情况下,VARCHAR2(2) 就等于是 VARCHAR2(2 BYTE)  一个汉字占2个字节

 

Linux环境下:

报错信息:实际值6,最大值2

可见在Linux默认情况下,VARCHAR2(2) 就等于是 VARCHAR2(2 BYTE)  一个汉字占3个字节

如果建表文改为:

CREATE TABLE TEST(

NAME VARCHAR2(2 CHAR)

)

INSERT INTO TEST VALUES('测试'); WindowsLinux下都可以执行成功。

 

From <http://www.linuxidc.com/Linux/2011-04/35276.htm>

 

 

转载于:https://www.cnblogs.com/recognition/p/5388081.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值