標量(scalar)資料類型
標量(scalar)資料類型沒有內部組件,他們大致可分為以下四類:
. number
. character
. date/time
. boolean
表1顯示了數字資料類型;表2顯示了字元資料類型;表3顯示了日期和布林值資料型別。
表1 Scalar Types:Numeric
| Datatype |
Range |
Subtypes |
description |
| BINARY_INTEGER |
-214748-2147483647 |
NATURAL NATURAL NPOSITIVE POSITIVEN SIGNTYPE |
用於儲存單位元組整數。 要求儲存長度低於NUMBER值。 用於限制範圍的子類型(SUBTYPE): NATURAL:用於非負數 POSITIVE:只用於正數 NATURALN:只用於非負數和非NULL值 POSITIVEN:只用於正數,不能用於NULL值 SIGNTYPE:只有值:-1、0或1. |
| NUMBER |
1.0E-130-9.99E125 |
DEC DECIMAL DOUBLE PRECISION FLOAT INTEGERIC INT NUMERIC REAL SMALLINT |
儲存數字值,包括整數和浮點數。可以選擇精度和刻度方式,文法: number[([,])]。 預設的精度是38,scale是0. |
| PLS_INTEGER |
-2147483647-2147483647 |
|
與BINARY_INTEGER基本相同,但採用機器運算時,PLS_INTEGER提供更好的效能 。 |
NUMBER 數字型 能存放整數值和實數值,並且可以定義精度和取值範圍
BINARY_INTEGER 數字型 可儲存帶正負號的整數,為整數計算最佳化效能
DEC 數字型 NUMBER的子類型,小數
DOUBLE PRECISION 數字型 NUMBER的子類型,高精度實數
INTEGER 數字型 NUMBER的子類型,整數
INT 數字型 NUMBER的子類型,整數
NUMERIC 數字型 NUMBER的子類型,與NUMBER等價
REAL 數字型 NUMBER的子類型,與NUMBER等價
SMALLINT 數字型 NUMBER的子類型,取值範圍比INTEGER小
VARCHAR2 字元型 存放可變長字串,有最大長度
表2 字元資料類型
| datatype |
rang |
subtype |
description |
| CHAR |
最大長度32767位元組 |
CHARACTER |
儲存定長字串,如果長度沒有確定,預設是1 |
| LONG |
最大長度2147483647位元組 |
|
儲存可變長度字串 |
| RAW |
最大長度32767位元組 |
|
用於儲存位元據和位元組字串,當在兩個資料庫之間進行傳遞時,RAW資料不在字元集之間進行轉換。 |
| LONGRAW |
最大長度2147483647 |
|
與LONG資料類型相似,同樣他也不能在字元集之間進行轉換。 |
| ROWID |
18個位元組 |
|
與資料庫ROWID偽列類型相同,能夠儲存一個行標示符,可以將行標示符看作資料庫中每一行的唯一索引值。 |
| VARCHAR2 |
最大長度32767位元組 |
STRINGVARCHAR |
與VARCHAR資料類型相似,儲存可變長度的字串。聲明方法與VARCHAR相同 |
CHAR 字元型 定長字串
LONG 字元型 變長字串,最大長度可達32,767
DATE 日期型 以資料庫相同的格式存放日期值
BOOLEAN 布爾型 TRUE OR FALSE
ROWID ROWID 存放資料庫的行號
表3 DATE和BOOLEAN
| datatype |
range |
description |
| BOOLEAN |
TRUE/FALSE |
儲存邏輯值TRUE或FALSE,無參數 |
| DATE |
01/01/4712 BC |
儲存固定長的日期和時間值,日期值中包含時間 |
LOB資料類型
LOB(大對象,Large object) 資料類型用於儲存類似映像,聲音這樣的大型資料對象,LOB資料對象可以是位元據也可以是字元資料,其最大長度不超過4G。LOB資料類型支援任意訪問方式,LONG只支援順序訪問方式。LOB儲存在一個單獨的位置上,同時一個"LOB定位器"(LOB locator)儲存在原始的表中,該定位器是一個指向實際資料的指標。在PL/SQL中操作LOB資料對象使用ORACLE提供的包DBMS_LOB.LOB資料類型可分為以下四類:
. BFILE
. BLOB
. CLOB
. NCLOB
操作符
與其他程式設計語言相同,PL/SQL有一系列操作符。操作符分為下面幾類:
. 算術操作符
. 關係操作符
. 比較操作符
. 邏輯操作符
算術操作符如表4所示
| operator |
operation |
| + |
加 |
| - |
減 |
| / |
除 |
| * |
乘 |
| ** |
乘方 |
關係操作符主要用於條件判斷語句或用於where子串中,關係操作符檢查條件和結果是否為true或false,表5是PL/SQL中的關係操作符
| operator |
operation |
| < |
小於操作符 |
| <= |
小於或等於操作符 |
| > |
大於操作符 |
| >= |
大於或等於操作符 |
| = |
等於操作符 |
| != |
不等於操作符 |
| <> |
不等於操作符 |
| := |
賦值操作符 |
表6 顯示的是比較操作符
| operator |
operation |
| IS NULL |
如果運算元為NULL返回TRUE |
| LIKE |
比較字串值 |
| BETWEEN |
驗證值是否在範圍之內 |
| IN |
驗證運算元在設定的一系列值中 |
表7.8顯示的是邏輯操作符
| operator |
operation |
| AND |
兩個條件都必須滿足 |
| OR |
只要滿足兩個條件中的一個 |
| NOT |
取反 |