Oracle基本修練: PL/SQL data types

ChunJen Wang
jimmy-wang
Published in
Sep 9, 2021

本篇記錄PL/SQL使用的datatype。

Content

  • Number
  • Boolean
  • Character
  • Datetime

Let’s Start!

Number

數值資料就包含實數、整數、浮點數,如將PL/SQL與原先SQL data type對應起來參考就如:

其中PLS_INTEGER 是比較特別的用法,儲存的大小為32 bits,數值範圍從-2,147,483,6482,147,483,647依據官方說明PLS_INTEGER較常應用在hardware arithmetic上,相對NUMBER 可以跑得更快且儲存空間更小。

而其又包含了不同的subtype,如下表:

Boolean

如同常見的TRUE, FALSE, NULL,就是布林值的三種值。
經常被使用在控制流程(control flow),如if-then, case when…then…。
或是迴圈(loop statement),如loop, for, while。

但是SQL本身並無 BOOLEAN 的data type,因此幾件事情需要注意:

  1. 無法assign BOOLEAN 至一個表格欄位中
  2. 從表格欄位中拉出數值(value)到 BOOLEAN 變數
  3. 在SQL statement使用 BOOLEAN 表達式
  4. DBMS_OUTPUT.PUTLINE and DBMS_OUTPUT.PUT subprograms中使用 BOOLEAN

Character

就是SQL裡面有使用到的文字資料, CHAR, VARCHAR2, LONG, RAW, LONG RAW, ROWID, UROWID 都是我們常見的資料格式。

可以特別關注的如

  • CHAR(n) 是固定長度的character,資料長度從1 到32,767 bytes。
  • VARCHAR2(n) 是可變長度的character,資料長度從1 到32,767 bytes。

Datetime

儲存了基本年月日、時間戳記、時間區間的資料,如DATE, TIMESTAMP, TIMESTAMP WITH TIME ZONE, TIMESTAMP WITH LOCAL TIME ZONE, INTERVAL YEAR TO MONTH,INTERVAL DAY TO SECOND

在使用不同的資料格式也需要特別注意不同類型的DB環境,會有看起來相近的同義詞。

以上為PL/SQL會使用到的資料形式。

資料來源: https://www.oracletutorial.com/plsql-tutorial/plsql-data-types/

--

--

ChunJen Wang
jimmy-wang

嗨,歡迎你的到來,我目前在銀行擔任DS。過去曾做過銀行大型專案BA,也曾在轉職科技業DE中踢了鐵板,相信每一個人都有自己要走的路,而努力的過程,可以讓我們離心中理想更接近,如果我的文章能帶給你一些啟發與幫助,別忘了幫我在文章底下按下拍手~^^