Oracle開發:常用的數據庫字段類型[轉]


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>

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM