1. 程式人生 > >oracle入門之基本數據類型

oracle入門之基本數據類型

中文字符 長度 使用 文字 精確 類文件 文件的 存在 編號

1、char(size)存放字符串,它最大可以存放2000個字符,是定長。

舉例說明:

create table test1(name char(32));//test1表中的name字段最多存放32個字符,不足32個字符oracle會用空格補齊,如果超過會報錯。

2、varchar2(size)存放字符串,它最大可以存放4000個字符,是變長。

舉例說明:

create table test2(name varchar2(16));//test2表中的name字段最多存放16個字符,實際有幾個字符就占幾個字符的空間,如果超過會報錯。

特別說明:如果我們的數據的長度是固定的,比如商品編號(8位),則應當使用char來存放,因為這樣存取的速度就會提高。如果存放的數據長度是變化的,則使用varchar2來存放。

3、nchar(n)以Unicode編碼來存放字符串,它最大可以存放2000個字符,是定長。

舉例說明:

create table test3(name nchar(32));//與char類似,只是以Unicode編碼存放字符串

4、nvarchar(n)以Unicode編碼來存放字符串,它最大可以存放4000個字符,是變長。

舉例說明:

create table test4(name nvarchar2(16));//與varchar2類似,只是以Unicode編碼存放字符串

特別說明:nchar和nvarchar2與char和varchar2的區別在於,nchar和nvarchar2不論存放英文字符或中文字符都只占1個字符。如存放a和存放‘中‘都只占1個字符位。而char和varchar2存放a占1個字符而存放‘中‘則占2個字符。

5、clob字符型大對象,它最大可以存放8TB,是變長。

與字符型的char/varchar2/nchar/nvarchar2的使用方式一樣。

6、blob二進制數據,可存放圖片、聲音,它最大可以存放8TB,是變長。

與字符型的char/varchar2/nchar/nvarchar2的使用方式一樣。

註意:一般情況下很少使用數據庫來存放媒體類文件,一般只使用數據庫來記錄媒體類文件的URL地址。如果考慮到文件的安全性,可以存放到數據庫中來保存。

7、number可以存放整數,也可存放小數,是變長。

number(p,s)//p代表整數位,s代表小數位

保存數據範圍:-1.0e-130至1.0e+126;保存在機器內部的範圍:1~22bytes

特別說明:

有效位:從左到右,第一個非0數就是第一個有效位。

s>0精確到小數點右邊s位,並四舍五入。然後檢驗有效位是否<=p

s<0精確到小數點左邊s位,並四舍五入。然後檢驗有效位是否<=p+|s|

s=0等價於number(p)此時number表示整數。

說明:-1.0e-130(科學計數法):就是-1.0乘以10的-130次方

1.0e+126:就是1.0乘以10的126次方

舉例說明:

number(5,2)

表示一個小數有5位有效數,2位小數。範圍-999.99~999.99

如果數值超出了位數限制就會被截取多余的位數。但在一行數據中的這個字段輸入575.316,則真正保存到字段中的數值是575.32。

number(5)<=>number(5,0)

表示一個五位整數,範圍-99999~99999。

輸入57523.316,真正保存的數據是57523

8、date,用於表示時間,(年/月/日/時/分/秒),是定長。

舉例說明:

create table test5(birthday date);//添加時個要使用默認格式insert into test5 values(‘11-11月-11‘);如使用insert into test5 values(‘2011-11-11‘);則報錯。

特別說明:oracle日期有默認格式為:DD-MON-YYYY,天-月-年;如果我們希望使用自己習慣的日期添加,也可以,但是需要借助oracle函數來添加。

oracle入門之基本數據類型