oracle表中字段型別選擇

2021-08-28 02:53:39 字數 1511 閱讀 2903

在熟係公司oracle資料庫時碰到了

去查了下網上已經有很好的解釋

nvarchar2在計算長度時和字符集相關的,例如資料庫是中文字符集時以長度10為例,則

1、nvarchar2(10)是可以存進去10個漢字的,如果用來存英文也只能存10個字元。

2、而varchar2(10)的話,則只能存進5個漢字,英文則可以存10個。 

varchar2可變長度字元域,最大長度可達4000個字元

nvarchar2多位元組字符集的可變長度字元域,長度隨字符集而定,最多為4000個字元或4000個位元組;

number [ (p [, s]) ] 是oracle自身的資料型別。 

number資料型別可以有兩個限定符,如:column number(precision,scale)。precision表示數字中的有效位。如果沒有指定precision的話,oracle將使用38 作為精度。scale表示小數點右邊的位數,scale預設設定為0。如果把scale設成負數,oracle將把該數字取捨到小數點左邊的指定位數。

integer或者int、smallint 則是 ansi sql 的資料型別,它對應的oralce資料型別是number(38)

integer只是plsql內部使用變數的型別

下面是具體例子用法:

123.2564 number 123.2564

1234.9876 number(6,2) 1234.99

12345.12345 number(6,2) error

1234.9876 number(6) 1235

12345.345 number(5,-2) 12300

1234567 number(5,-2) 1234600

12345678 number(5,-2) error

123456789 number(5,-4) 123460000

1234567890 number(5,-4) error

12345.58 number(*, 1) 12345.6

0.1 number(4,5) error

0.01234567 number(4,5) 0.01235

0.09999 number(4,5) 0.09999

date 它可以儲存月,年,日,世紀,時,分和秒,當你進行兩個日期的相減運算的時候,得到的是天數

timestamp 它包括了所有date資料型別的年月日時分秒的資訊,而且包括了小數秒的資訊。如果你想把date型別轉換成           timestamp型別,就使用cast函式。可以精確到小數秒(fractional_seconds_precision),可以是0 to9,預設是6

為了得到系統時間,返回成date資料型別。你可以使用sysdate函式。

1 sql> select sysdate from dual;
為了得到系統時間,返回成timestamp資料型別。你可以使用systimpstamp函式。

1 sql> select systimestamp from dual;

Oracle 字段型別

oracle 字段型別 字段型別 描述字段長度及其預設值 char size 用於儲存定長 size 位元組的字串資料。每行定長 不足部分補為空格 最大長度為每行2000位元組,預設值為每行1位元組。設定長度 size 前需考慮字符集為單位元組或多位元組。varchar2 size 用於儲存變長的字...

Oracle欄位型別

oracle欄位型別 char 用於描述定長的字元型資料,長度 2000位元組 varchar2 用於描述變長的字元型資料,長度 4000位元組 nchar 用來儲存unicode字符集的定長字元型資料,長度 1000位元組 nvarchar2 用來儲存unicode字符集的變長字元型資料,長度 1...

oracle欄位型別

create table website.tab1 c1 varchar2 4 byte c2 char 3 byte c3 number,c4 integer,c5 date,c6 long varchar2 202 char 130 number 139 integer 131 date 135...