關於Oracle中的sql資料類型

來源:互聯網
上載者:User

關於Oracle中的sql資料類型

資料類型對於每一種程式設計語言而言都是資料存放區的基礎,對於程式設計語言的實現功能而言也是一個尺規,有些程式設計語言可能資料類型很豐富,比如java,c,在資料計算方面的支援很全面,有些編程比較精簡,更側重於實現特定的功能,資料類型也就簡單得多。比如說shell。

對於Oracle中的sql來說,資料類型的支援非常全面,無論是資料計算還是複雜的商務邏輯封裝需要,資料類型的支援都是內建和可擴充的。可以根據需要來選擇。

目前Oracle的資料類型分類大體有如下的結構。

使用者自訂類型,基本上都是由type來實現,可以根據需要來靈活定製。

內建資料類型是主要的應用方向。大體分為了標量,集合,關係型

關於自訂資料類型有必要多說一些。

Oracle PL/SQL複合資料型別 

Oracle資料類型學習筆記

Oracle定義資料類型Type 

Oracle DB 隱式和顯式資料類型轉換 

Oracle常用資料類型和完整性條件約束

Oracle 4個大對象(lobs)資料類型介紹 

一個簡單的例子如下,我們建立測試表test_datatype來簡單的說明。

create table test_datatype(id number,name varchar2(100),memo varchar2(1000));

create or replace type t_test_datatype as
 object
 (
 id number,
 name varchar2(100)
 )
 /

create or replace type tt_test_datatype as table of t_test_datatype
 /

create table new_test_datatype
 (
 object_id number,
other_columns tt_test_datatype
 )
nested table other_columns store as other_columns_nt
 /

而對於內建資料類型,簡單的總結和描述總結成了表格。

資料類型 長度 說明
CHAR(n BYTE/CHAR) 預設1位元組,n值最大為2000 末尾填充空格以達到指定長度,超過最大長度報錯。預設指定長度為位元組數,字元長度可以從1位元組到四位元組。
NCHAR(n) 預設1字元,最大儲存內容2000位元組 末尾填充空格以達到指定長度,n為Unicode字元數。預設為1位元組。
NVARCHAR2(n) 最大長度必須指定,最大儲存內容4000位元組 變長類型。n為Unicode字元數
VARCHAR2(n BYTE/CHAR) 最大長度必須指定,至少為1位元組或者1字元,n值最大為4000 變長類型。超過最大長度報錯。預設儲存的是長度為0的字串。
VARCHAR 同VARCHAR2 不建議使用
NUMBER(p[,s]) 1-22位元組。 儲存定點數,值的絕對值範圍為1.0 x 10 -130至1.0 x 10 126。值大於等於1.0 x 10 126時報錯。p為有意義的10進位位元,正值s為小數位元,負值s表示四捨五入到小數點左部多少位。
P取值範圍1到38
S取值範圍-84到127
BINARY_FLOAT 5位元組,其中有一長度位元組。 32位單精確度浮點數類型。
符號位1位,指數位8位,尾數位23位。
BINARY_DOUBLE 9位元組,其中有一長度位元組。 64位雙精確度浮點數類型。

對於一些資料範例,總結如下:

輸入資料 資料類型 儲存結果
7,456,123.89 NUMBER 7456123.89
7,456,123.89 NUMBER(*,1) 7456123.9
7,456,123.89 NUMBER(9) 7456124
7,456,123.89 NUMBER(9,2) 7456123.89
7,456,123.89 NUMBER(9,1) 7456123.9
7,456,123.89 NUMBER(6) (not accepted, exceeds precision)
7,456,123.89 NUMBER(7,-2) 7456100

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.