聯絡:1.varchar/varchar2用於儲存可變長度的字串
比如varchar(20),存入字串'abc',則資料庫中該字段只佔3個位元組,而不是20個位元組
2.size 的最大值是 4000,而最小值是 1,其值表示位元組數,比如
varchar(20)表示最大可以存放20個位元組的內容
區別:1.varchar2把所有字元都佔兩位元組處理(一般情況下),varchar只對漢字和全形等字元佔兩位元組,數字,英文本元等都是乙個位元組;
2.varchar2把空串等同於null處理,而varchar仍按照空串處理;
3.varchar2字元要用幾個位元組儲存,要看資料庫使用的字符集,
比如gbk,漢字就會佔兩個位元組,英文1個
如果是utf-8,漢字一般佔3個位元組,英文還是1個。
但是一般情況下,我們都認為是兩個位元組處理,因為oracle安裝時候預設我們都選擇gbk的編碼格式,但是我們在頁面做輸入字串長度的校驗的時候,還是以資料庫設計字段最大長度除3來作為最大長度-----防止資料庫移植時設定不同編碼格式;
比如:varchar2(10),一般情況下最多存放5個漢字,10個字元
--nvarchar,nvarchar2
聯絡:1.nvarchar/nvarchar2用於儲存可變長度的字串
2.size 的最大值是 4000,而最小值是 1,其值表示字元的個數,而不是位元組數
3.這兩種型別更適合儲存中文
區別:1.nvarchar中字元為中文則一般按2個位元組計算,英文數字等按照乙個自己計算
2.nvarchar2中所有字元均按照2個位元組計算;
3.nvarchar2雖然更佔空間,但是它有更好的相容性,所有推薦使用;
varchar2(size)
可變長度的字串,其最大長度為size個位元組;size的最大值是4000,而最小值是1;你必須指定乙個varchar2的size;
nvarchar2(size)
可變長度的字串,依據所選的國家字符集,其最大長度為size個字元或位元組;size的最大值取決於儲存每個字元所需的位元組數,其上限為4000;你必須指定乙個nvarchar2的size;
number(p,s)
精度為p並且數值範圍為s的數值;精度p的範圍從1到38;數值範圍s的範圍是從-84到127;
例如:number(5,2) 表示整數部分最大3位,小數部分為2位;
number(5,-2) 表示數的整數部分最大為7其中對整數的倒數2位為0,前面的取整。
number 表示使用預設值,即等同於number(5);
long
可變長度的字元資料,其長度可達2g個位元組;
date
有效日期範圍從西元前2023年1月1日到公元後2023年12月31日
raw(size)
長度為size位元組的原始二進位制資料,size的最大值為2000位元組;你必須為raw指定乙個size;
long raw
可變長度的原始二進位制資料,其最長可達2g位元組;
char(size)
固定長度的字元資料,其長度為size個位元組;size的最大值是2000位元組,而最小值和預設值是1;
nchar(size)
也是固定長度。根據unicode標準定義
clob
乙個字元大型物件,可容納單位元組的字元;不支援寬度不等的字符集;最大為4g位元組
nclob
乙個字元大型物件,可容納單位元組的字元;不支援寬度不等的字符集;最大為4g位元組;儲存國家字符集
blob
乙個二進位制大型物件;最大4g位元組
bfile
包含乙個大型二進位制檔案的定位器,其儲存在資料庫的外面;使得可以以字元流i/o訪問存在資料庫伺服器上的外部lob;最大大小為4g位元組.
oracle資料型別
char 用於描述定長的字元型資料,長度 2000位元組 varchar2 用於描述變長的字元型資料,長度 4000位元組 nchar 用來儲存unicode字符集的定長字元型資料,長度 1000位元組 nvarchar2 用來儲存unicode字符集的變長字元型資料,長度 1000位元組 numb...
Oracle資料型別
一 概述 標量 scalar 復合 composite 引用 reference lob 二 標量 scalar 合法的標量型別與資料庫的列所使用的型別相同,此外它還有一些擴充套件。它又分為七個組 數字 字元 行 日期 行標識 布林和可信。數字,它有三種基本型別 number pls integer...
Oracle 資料型別
資料型別 引數描述 char n n 1 to 2000位元組 定長字串,n位元組長,如果不指定長度,預設為1個位元組長 乙個漢字為2位元組 varchar2 n n 1 to 4000位元組 可變長的字串,具體定義時指明最大長度n,這種資料型別可以放數字 字母以及ascii碼字符集 或者ebcdi...