關於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/8494287/viewspace-1346957/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於SQL Server 中的25種資料型別SQLServer資料型別
- 【SQL】18 SQL NULL 函式、SQL 通用資料型別、SQL 用於各種資料庫的資料型別SQLNull函式資料型別資料庫
- 關於 PHP 的資料型別 (一)PHP資料型別
- 關於 PHP 的資料型別 (二)PHP資料型別
- 關於 PHP 的資料型別 (三)PHP資料型別
- 關於timestamp資料型別資料型別
- SQL Server 中的25種資料型別SQLServer資料型別
- SQL Server中易混淆的資料型別SQLServer資料型別
- Oracle中的TIMESTAMP資料型別Oracle資料型別
- 【SQL】SQL資料型別SQL資料型別
- <轉>Oracle資料型別與.NET中的對應關係Oracle資料型別
- 關於Sql server資料型別HierarchyID 資料型別用法和遞迴顯示完整路徑SQLServer資料型別遞迴
- oracle中date資料型別與timestamp資料型別的轉換Oracle資料型別
- SQL Server 中自定義資料型別SQLServer資料型別
- SQL Server中操作XML型別資料SQLServerXML型別
- SQL 資料型別SQL資料型別
- SQL Server 2005 資料型別和.Net資料型別的對應關係SQLServer資料型別
- PLSQL Language Reference-PL/SQL資料型別-SQL資料型別-有限制的子型別SQL資料型別
- 關於資料庫中的型別和entity bean裡面的型別對應問題資料庫型別Bean
- SQL Server 中易混淆的資料型別(轉)SQLServer資料型別
- SQL與NoSQL(關係型與非關係型)資料庫的區別SQL資料庫
- 關於Oracle字元型別的比較Oracle字元型別
- 關於INTERVAL DAY TO SECOND資料型別資料型別
- oracle將表中date資料型別修改為timestamp資料型別Oracle資料型別
- PLSQL Language Reference-PL/SQL資料型別-SQL資料型別-使用者定義的PL/SQL子型別SQL資料型別
- EJBQL中關於日期型資料的比較
- 非關係型資料庫(NOSQL)和關係型資料庫(SQL)區別詳解資料庫SQL
- Oracle資料型別Oracle資料型別
- Oracle 資料型別Oracle資料型別
- SQL資料型別和C#資料型別間的轉換SQL資料型別C#
- Oracle的number資料型別Oracle資料型別
- Oracle的raw資料型別Oracle資料型別
- ORACLE的資料型別(轉)Oracle資料型別
- 關於 Go 中 Map 型別和 Slice 型別的傳遞Go型別
- PLSQL Language Reference-PL/SQL資料型別-SQL資料型別-不同的最值大小SQL資料型別
- Oracle資料庫關於SQL的執行計劃Oracle資料庫SQL
- Related to Oracle SQL 關於樹形資料的遍歷OracleSQL
- Java中的基本資料型別與引用資料型別Java資料型別