Oracle12c學習 常用的資料型別

2021-08-19 06:03:43 字數 2986 閱讀 8214

一 .字串型別

字串資料型別還可以依據儲存空間分為固定長度型別(char/nchar) 和可變長度型別(varchar2/nvarchar2)兩種.

所謂固定長度:是指雖然輸入的字段值小於該字段的限制長度,但是實際儲存資料時,會先自動向右補足空格後,才將字段值的內容儲存到資料塊中。這種方式雖然比較浪費空間,但是儲存效率較可變長度型別要好。同時還能減少資料行遷移情況發生。

所謂可變長度:是指當輸入的字段值小於該字段的限制長度時,直接將字段值的內容儲存到資料塊中,而不會補上空白,這樣可以節省資料塊空間。

(1)char(size)型,定長字串,非null的char(12)總是包含12位元組資訊,如果長度不夠,會用空格填充來達到其最大長度,如果超過,則直接報錯。char欄位最多可以儲存2,000位元組的資訊。如果建立表時,不指定char長度,則預設為1。

例如:建立表test1:

也可以通過dump()函式檢視:

從上圖可知char(16)的型別編號為96,長度為16,後面97,98,99為abc所對應的ascall碼的值,後面為空格。

如上面兩圖可知,char欄位最多可以儲存2,000位元組的資訊。

(2)varchar2(size),變長字串,varchar2欄位最多可以儲存4,000位元組的資訊。

例如:建立表test3:

如上圖可知varchar2(size)是變長的字串型別。

對於char和varchar2,如果使用的字元的長度是固定的,建議使用char(size),因為這樣訪問的效率更高,如果存放的資料是變化的,建議使用varchar(size)。

(3)narchar(size)這是乙個包含unicode格式資料的定長字串。nchar欄位最多可以儲存2,000位元組的資訊。它的最大長度取決於國家字符集。

例如:建立表test4:

建立表test5

從上面三張圖可知,在nchar(size)中,無論是中文漢字還是英文本母均佔乙個字元空間。而在char(szie)中,乙個漢字佔兩個字元空間。

例如表test6;

(4)nvarchar2(size)型別這是乙個包含unicode格式資料的變長字串。 nvarchar2最多可以儲存4,000位元組的資訊。

二 .數值型別

p 是precison的英文縮寫,即精度縮寫,表示有效數字的位數,最多不能超過38個有效數字

s是scale的英文縮寫,可以使用的範圍為-84~127。scale為正數時,表示從小數點到最低有效數字的位數,它為負數時,表示從最大有效數字到小數點的位數。

actual data

specified as

stored as

123.89

number

123.89

123.89

number(3)

123.89

number(6,2)

123.89

123.89

number(6,1)

123.9

123.89

number(3)

123.89

number(4,2)

exceeds precision

123.89

number(6,-2)

.01234

number(4,5)

.01234

.00012

number(4,5)

.00012

.000127

number(4,5)

.00013

.0000012

number(2,7)

.0000012

.00000123

number(2,7)

.0000012

1.2e-4

number(2,5)

0.00012

1.2e-5

number(2,5)

0.00001

date是最常用的資料型別,日期資料型別儲存日期和時間資訊。雖然可以用字元或數字型別表示日期和時間資訊,但是日期資料型別具有特殊關聯的屬性。為每個日期值,oracle 儲存以下資訊: 世紀、 年、 月、 日期、 小時、 分鐘和秒。一般占用7個位元組的儲存空間。

例如:建立表test7;

注意oracle建立日期的格式匹配。

(2) timestamp型別

這是乙個7位元組或12位元組的定寬日期/時間資料型別。它與date資料型別不同,因為timestamp可以包含小數秒,帶小數秒的timestamp在小數點右邊最多可以保留9位

Oracle 12c 常用操作命令

1多例項切換 export oracle sid 例項名 例如 2登陸資料庫 sqlplus as sysdba 注意 3檢視當前例項或者說當前容器 select name from v database 或者show con name 例如 4檢視當前容器的pdb show con name 例子...

Oracle 12c 常用命令

查詢是否為cdb使用者 select name,cdb from v database 查詢是否啟用cdb select name,decode cdb,yes multitenant option enabled regular 12c database multitenant option op...

oracle12c建立使用者

本人在centos7安裝好資料庫 oracle12c 準備建立乙個使用者的時候 報錯了,如下 sql create user bpmx3 identified by bpmx3 create user bpmx3 identified by bpmx3 error at line 1 ora 650...