Oracle常用的数据库字段类型如下:
| 字段类型 | 中文说明 | 限制条件 | 其它说明 |
| CHAR | 固定长度字符串 | 最大长度2000 bytes |
|
| VARCHAR2 | 可变长度的字符串 | 最大长度4000 bytes | 可做索引的最大长度749 Byte/char,默认情况用的是Byte |
| NCHAR | 根据字符集而定的固定长度字符串 | 最大长度2000 bytes |
|
| NVARCHAR2 | 根据字符集而定的可变长度字符串 | 最大长度4000 bytes |
|
| DATE | 日期(日-月-年) | DD-MM-YY(HH-MI-SS) | 经过严格测试,无千虫问题 |
| LONG | 超长字符串 | 最大长度2G(231-1) | 足够存储大部头著作 |
| RAW | 固定长度的二进制数据 | 最大长度2000 bytes | 可存放多媒体图象声音等 |
| LONG RAW | 可变长度的二进制数据 | 最大长度2G | 同上 |
| BLOB | 二进制数据 | 最大长度4G |
|
| CLOB | 字符数据 | 最大长度4G |
|
| NCLOB | 根据字符集而定的字符数据 | 最大长度4G |
|
| BFILE | 存放在数据库外的二进制数据 | 最大长度4G |
|
| ROWID | 数据表中记录的唯一行号 | 10 bytes ********.****.****格式,*为0或1 |
|
| 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('测试'); 在Windows和Linux下都可以执行成功。
From <http://www.linuxidc.com/Linux/2011-04/35276.htm>
本文详细介绍了Oracle数据库中常见的字段类型,包括CHAR、VARCHAR2、NCHAR、NVARCHAR2、DATE、LONG、RAW、LONGRAW、BLOB、CLOB、NCLOB、BFILE、ROWID、NROWID、NUMBER、DECIMAL、INTEGER、FLOAT、REAL,以及它们的特性、限制条件和使用场景。同时,对比了VARCHAR2在不同操作系统下字符占用字节数的区别。

6881

被折叠的 条评论
为什么被折叠?



