關於oracle中的sql資料型別
資料型別對於每一種程式語言而言都是資料儲存的基礎,對於程式語言的實現功能而言也是一個標尺,有些程式語言可能資料型別很豐富,比如java,c,在資料計算方面的支援很全面,有些程式設計比較精簡,更側重於實現特定的功能,資料型別也就簡單得多。比如說shell。
對於oracle中的sql來說,資料型別的支援非常全面,無論是資料計算還是複雜的業務邏輯封裝需要,資料型別的支援都是內建和可擴充套件的。可以根據需要來選擇。
目前oracle的資料型別分類大體有如下的結構。
使用者自定義型別,基本上都是由type來實現,可以根據需要來靈活定製。
內建資料型別是主要的應用方向。大體分為了標量,集合,關係型
關於自定義資料型別有必要多說一些。
一個簡單的例子如下,我們建立測試表test_datatype來簡單的說明。
對於一些資料樣例,總結如下:
對於oracle中的sql來說,資料型別的支援非常全面,無論是資料計算還是複雜的業務邏輯封裝需要,資料型別的支援都是內建和可擴充套件的。可以根據需要來選擇。
目前oracle的資料型別分類大體有如下的結構。
使用者自定義型別,基本上都是由type來實現,可以根據需要來靈活定製。
內建資料型別是主要的應用方向。大體分為了標量,集合,關係型
關於自定義資料型別有必要多說一些。
一個簡單的例子如下,我們建立測試表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的字串。 |
|
|
|
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 |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23718752/viewspace-1339501/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【SQL】18 SQL NULL 函式、SQL 通用資料型別、SQL 用於各種資料庫的資料型別SQLNull函式資料型別資料庫
- 關於Sql server資料型別HierarchyID 資料型別用法和遞迴顯示完整路徑SQLServer資料型別遞迴
- 關於 PHP 的資料型別 (一)PHP資料型別
- 關於 PHP 的資料型別 (二)PHP資料型別
- 關於 PHP 的資料型別 (三)PHP資料型別
- SQL 資料型別SQL資料型別
- Oracle 資料型別Oracle資料型別
- Oracle的number資料型別Oracle資料型別
- SQL與NoSQL(關係型與非關係型)資料庫的區別SQL資料庫
- Oracle資料庫關於SQL的執行計劃(轉)Oracle資料庫SQL
- 【轉】ORACLE資料型別Oracle資料型別
- Oracle anydata資料型別Oracle資料型別
- ORACLE NUMBER資料型別Oracle資料型別
- 非關係型資料庫(NOSQL)和關係型資料庫(SQL)區別詳解資料庫SQL
- Oracle資料型別對應Java型別Oracle資料型別Java
- SQL 常見資料型別SQL資料型別
- SQL Server-資料型別SQLServer資料型別
- SQL教程——常見的資料型別SQL資料型別
- Oracle OCP(19):資料型別Oracle資料型別
- 關於 Go 中 Map 型別和 Slice 型別的傳遞Go型別
- SQL Server資料庫中的資料型別隱式轉換問題SQLServer資料庫資料型別
- Java中的基本資料型別與引用資料型別Java資料型別
- SQL Server日期資料型別DATE的使用SQLServer資料型別
- [20191001]關於oracle number型別的一些疑惑.txtOracle型別
- Oracle字串資料型別簡述Oracle字串資料型別
- 關係型資料庫之SQL資料庫SQL
- Java中的資料型別Java資料型別
- javascript中的資料型別JavaScript資料型別
- 聊一下關於判斷資料型別資料型別
- 關係型資料庫和非關係型資料庫的區別資料庫
- Android NDK開發中java資料型別與C/C++資料型別的對應關係AndroidJava資料型別C++
- sql學習(mysql)(1)資料型別MySql資料型別
- JAVA中基本資料型別和引用資料型別Java資料型別
- JS中其他資料型別轉為number資料型別的方法JS資料型別
- [20191219]oracle timestamp資料型別的儲存.txtOracle資料型別
- Oracle和sqlserver資料型別對應OracleSQLServer資料型別
- Oracle基本資料型別儲存格式淺析——RAW型別Oracle資料型別
- JS中資料型別、內建物件、包裝型別物件、typeof關係JS資料型別物件
- 關於oracle中的undoOracle