3.oracle的資料型別及number型別詳解
1、資料型別
(1)Char(size) 字元型別
①定長(例如定義了32位,然後只輸入了10位,那麼系統會自動用空格補夠32個)
②最多存放2000個字元
Create table test1(name char(32));
(2)varchar2(size) 字元型別
①變長(系統不會補空格)
②最多存放4000個字元
Create table test2(varchar2 (32));
如果存放的資料長度固定,比如身份證號,則應該使用char型別,因為讀取速度快
(3)Nchar(siez)
①定長
②unicode編碼(英文和漢字所佔空間相同,都只佔一個字元空間)
③最多存放2000字元
(4)nvarchar2(size)
①變長
②unicode編碼
③最多存放4000字元
(5)Clob(size) 字元型大物件
①變長
②最大存放8Tb
(6)Blob
①變長
②最多存放8Tb
實際中很少將檔案存在資料庫中,一般只會在資料庫中存放檔案的url
(7)number 數值型
①number可以存放整數,也可以存放小數
②有效位 number(p,s) 從左往右,第一個非0數就是第一個有效位
p為有效位,s為小數位,範圍:1 <= p <= 38, -84 <= s <=127
儲存資料的大小範圍:-1.0e-130 <= number value <= 1.0e+126
-1.0e-130就是-1.0乘以10的-130次方,1.0e+126就是1.0乘以10的126次方
保留在機器內的範圍:1至22Bytes
例子:number(5,2)表示有效範圍為:-999.99至999.99(小數位為2位)
Number(5,0)表示有效範圍為:-99999至99999(小數位為0位)
資料345.21 資料型別number(5,2) 則儲存資料為345.21
資料345.21 資料型別number(5,1) 則儲存資料為345.2(因為小數位為1,所以後一位四捨五入)
資料345.21 資料型別number(5,-1) 則儲存資料為350(因為小數位為-1,所以從小數點往左數,第一位四捨五入)
資料345.21 資料型別number(4,2) 則會報錯(因為有效位為4,所以儲存資料範圍為-99.99至99.99,345.21不在此範圍)
在實際使用中,如果有明確要求保留到小數點幾位,則明確指定,如果沒有,則可以直接使用number
(8)date日期型別
①用於表示時間
②格式(日日-月月-年年)
(9)Timestamp
①用於表示時間
2、建立一張表
create table zl (
id number,
name varchar2(32),
password varchar2(32),
birthday date);