PL/SQL數(shù)據(jù)類型及操作符
標量(scalar)數(shù)據(jù)類型沒有內(nèi)部組件,他們大致可分為以下四類:
. number
. character
. date/time
. boolean
表1顯示了數(shù)字數(shù)據(jù)類型;表2顯示了字符數(shù)據(jù)類型;表3顯示了日期和布爾數(shù)據(jù)類型。
表1 Scalar Types:Numeric
| Datatype | Range | Subtypes | description |
| BINARY_INTEGER | -214748-2147483647 | NATURAL NATURAL NPOSITIVE POSITIVEN SIGNTYPE |
用于存儲單字節(jié)整數(shù)。 要求存儲長度低于NUMBER值。 用于限制范圍的子類型(SUBTYPE): NATURAL:用于非負數(shù) POSITIVE:只用于正數(shù) NATURALN:只用于非負數(shù)和非NULL值 POSITIVEN:只用于正數(shù),不能用于NULL值 SIGNTYPE:只有值:-1、0或1. |
| NUMBER | 1.0E-130-9.99E125 | DEC DECIMAL DOUBLE PRECISION FLOAT INTEGERIC INT NUMERIC REAL SMALLINT |
存儲數(shù)字值,包括整數(shù)和浮點數(shù)??梢赃x擇精度和刻度方式,語法:
|
| PLS_INTEGER | -2147483647-2147483647 | 與BINARY_INTEGER基本相同,但采用機器運算時,PLS_INTEGER提供更好的性能 。 |
NUMBER 數(shù)字型 能存放整數(shù)值和實數(shù)值,并且可以定義精度和取值范圍
BINARY_INTEGER 數(shù)字型 可存儲帶符號整數(shù),為整數(shù)計算優(yōu)化性能
DEC 數(shù)字型 NUMBER的子類型,小數(shù)
DOUBLE PRECISION 數(shù)字型 NUMBER的子類型,高精度實數(shù)
INTEGER 數(shù)字型 NUMBER的子類型,整數(shù)
INT 數(shù)字型 NUMBER的子類型,整數(shù)
NUMERIC 數(shù)字型 NUMBER的子類型,與NUMBER等價
REAL 數(shù)字型 NUMBER的子類型,與NUMBER等價
SMALLINT 數(shù)字型 NUMBER的子類型,取值范圍比INTEGER小
VARCHAR2 字符型 存放可變長字符串,有最大長度
表2 字符數(shù)據(jù)類型
| datatype | rang | subtype | description |
| CHAR | 最大長度32767字節(jié) | CHARACTER | 存儲定長字符串,如果長度沒有確定,缺省是1 |
| LONG | 最大長度2147483647字節(jié) | 存儲可變長度字符串 | |
| RAW | 最大長度32767字節(jié) | 用于存儲二進制數(shù)據(jù)和字節(jié)字符串,當在兩個數(shù)據(jù)庫之間進行傳遞時,RAW數(shù)據(jù)不在字符集之間進行轉(zhuǎn)換。 | |
| LONGRAW | 最大長度2147483647 | 與LONG數(shù)據(jù)類型相似,同樣他也不能在字符集之間進行轉(zhuǎn)換。 | |
| ROWID | 18個字節(jié) | 與數(shù)據(jù)庫ROWID偽列類型相同,能夠存儲一個行標示符,可以將行標示符看作數(shù)據(jù)庫中每一行的唯一鍵值。 | |
| VARCHAR2 | 最大長度32767字節(jié) | STRINGVARCHAR | 與VARCHAR數(shù)據(jù)類型相似,存儲可變長度的字符串。聲明方法與VARCHAR相同 |
CHAR 字符型 定長字符串
LONG 字符型 變長字符串,最大長度可達32,767
DATE 日期型 以數(shù)據(jù)庫相同的格式存放日期值
BOOLEAN 布爾型 TRUE OR FALSE
ROWID ROWID 存放數(shù)據(jù)庫的行號
表3 DATE和BOOLEAN
| datatype | range | description |
| BOOLEAN | TRUE/FALSE | 存儲邏輯值TRUE或FALSE,無參數(shù) |
| DATE | 01/01/4712 BC | 存儲固定長的日期和時間值,日期值中包含時間 |
LOB數(shù)據(jù)類型
LOB(大對象,Large object) 數(shù)據(jù)類型用于存儲類似圖像,聲音這樣的大型數(shù)據(jù)對象,LOB數(shù)據(jù)對象可以是二進制數(shù)據(jù)也可以是字符數(shù)據(jù),其最大長度不超過4G。LOB數(shù)據(jù)類型支持任意訪問方式,LONG只支持順序訪問方式。LOB存儲在一個單獨的位置上,同時一個"LOB定位符"(LOB locator)存儲在原始的表中,該定位符是一個指向?qū)嶋H數(shù)據(jù)的指針。在PL/SQL中操作LOB數(shù)據(jù)對象使用ORACLE提供的包DBMS_LOB.LOB數(shù)據(jù)類型可分為以下四類:
. BFILE
. BLOB
. CLOB
. NCLOB
操作符
與其他程序設計語言相同,PL/SQL有一系列操作符。操作符分為下面幾類:
. 算術操作符
. 關系操作符
. 比較操作符
. 邏輯操作符
算術操作符如表4所示
| operator | operation |
| + | 加 |
| - | 減 |
| / | 除 |
| * | 乘 |
| ** | 乘方 |
關系操作符主要用于條件判斷語句或用于where子串中,關系操作符檢查條件和結果是否為true或false,表5是PL/SQL中的關系操作符
| operator | operation |
| < | 小于操作符 |
| <= | 小于或等于操作符 |
| > | 大于操作符 |
| >= | 大于或等于操作符 |
| = | 等于操作符 |
| != | 不等于操作符 |
| <> | 不等于操作符 |
| := | 賦值操作符 |
表6 顯示的是比較操作符
| operator | operation |
| IS NULL | 如果操作數(shù)為NULL返回TRUE |
| LIKE | 比較字符串值 |
| BETWEEN | 驗證值是否在范圍之內(nèi) |
| IN | 驗證操作數(shù)在設定的一系列值中 |
表7.8顯示的是邏輯操作符
| operator | operation |
| AND | 兩個條件都必須滿足 |
| OR | 只要滿足兩個條件中的一個 |
| NOT | 取反 |
相關文章
Oracle ORA 07445 evaopn2()+128錯誤問題的解決方案
這篇文章主要介紹了Oracle ORA 07445 evaopn2()+128錯誤問題的解決方案,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-09-09
oracle誤刪數(shù)據(jù)表還原的二種方法(oracle還原)
這篇文章主要介紹了oracle誤刪數(shù)據(jù)表還原的二種方法,大家參考使用吧2014-01-01

