Oracle ประเภทข้อมูล PL/SQL: บูลีน ตัวเลข วันที่ [ตัวอย่าง]
ประเภทข้อมูล PL/SQL คืออะไร
ประเภทข้อมูล ใน PL/SQL ใช้เพื่อกำหนดวิธีการจัดเก็บ จัดการ และจัดการข้อมูล Oracle ระหว่างการจัดเก็บและประมวลผลข้อมูล ชนิดข้อมูลจะเชื่อมโยงกับรูปแบบการจัดเก็บข้อมูลเฉพาะและข้อจำกัดของช่วง ใน Oracleแต่ละค่าหรือค่าคงที่จะถูกกำหนดให้กับประเภทข้อมูล
ความแตกต่างที่สำคัญระหว่าง PL/SQL และ SQL ชนิดข้อมูลคือชนิดข้อมูล SQL ถูกจำกัดไว้ที่คอลัมน์ตาราง ในขณะที่ชนิดข้อมูล PL/SQL ถูกใช้ใน บล็อก PL/SQLเราจะอธิบายเพิ่มเติมเกี่ยวกับเรื่องนี้ในบทช่วยสอนในภายหลัง
ต่อไปนี้เป็นแผนภาพที่แตกต่างกัน Oracle ประเภทข้อมูล PL/SQL:

ประเภทข้อมูล PL/SQL CHARACTER
โดยทั่วไปประเภทข้อมูลนี้จะจัดเก็บอักขระตัวอักษรและตัวเลขในรูปแบบสตริง
ค่าตัวอักษรควรอยู่ในเครื่องหมายคำพูดเดี่ยวเสมอขณะกำหนดให้กับประเภทข้อมูล CHARACTER
ชนิดข้อมูลอักขระนี้แบ่งประเภทเพิ่มเติมได้ดังนี้:
- ชนิดข้อมูล CHAR (ขนาดสตริงคงที่)
- VARCHAR2 ชนิดข้อมูล (ขนาดสตริงตัวแปร)
- ประเภทข้อมูล VARCHAR
- NCHAR (ขนาดสตริงคงที่ดั้งเดิม)
- NVARCHAR2 (ขนาดสตริงตัวแปรดั้งเดิม)
- ยาวและยาว
ประเภทข้อมูล | Descriptไอออน | วากยสัมพันธ์ |
---|---|---|
ชาร์ | ชนิดข้อมูลนี้เก็บค่าสตริง และขนาดของสตริงได้รับการแก้ไข ณ เวลาที่ประกาศ ตัวแปร.
|
grade CHAR; manager CHAR (10):= 'guru99'; คำอธิบายไวยากรณ์:
|
วาร์ชาร์2 | ชนิดข้อมูลนี้เก็บสตริง แต่ความยาวของสตริงไม่คงที่
|
manager VARCHAR2(10) := ‘guru99'; คำอธิบายไวยากรณ์:
|
วาร์ชาร์ | ซึ่งตรงกันกับประเภทข้อมูล VARCHAR2
|
manager VARCHAR(10) := ‘guru99'; คำอธิบายไวยากรณ์:
|
กช | ชนิดข้อมูลนี้เหมือนกับชนิดข้อมูล CHAR แต่ชุดอักขระจะเป็นของชุดอักขระประจำชาติ
|
native NCHAR(10); คำอธิบายไวยากรณ์:
|
นาวาร์ชาร์2 |
ชนิดข้อมูลนี้เหมือนกับชนิดข้อมูล VARCHAR2 แต่ชุดอักขระจะเป็นชุดอักขระประจำชาติ
|
Native var NVARCHAR2(10):='guru99'; คำอธิบายไวยากรณ์:
|
ยาวและยาว | ประเภทข้อมูลนี้ใช้เพื่อจัดเก็บข้อความขนาดใหญ่หรือข้อมูลดิบได้สูงสุดถึงขนาดสูงสุด 2GB
|
Large_text LONG; Large_raw LONG RAW; คำอธิบายไวยากรณ์:
หมายเหตุ ไม่แนะนำให้ใช้ชนิดข้อมูลแบบยาว Oracle- ควรเลือกใช้ชนิดข้อมูล LOB แทน |
ประเภทข้อมูล PL/SQL NUMBER
ประเภทข้อมูลนี้จะจัดเก็บตัวเลขจุดทศนิยมคงที่หรือจุดทศนิยมลอยตัวที่มีความแม่นยำสูงสุด 38 หลัก ประเภทข้อมูลนี้ใช้สำหรับทำงานกับฟิลด์ที่มีข้อมูลตัวเลขเท่านั้น สามารถประกาศตัวแปรพร้อมรายละเอียดตัวเลขทศนิยมหรือไม่มีข้อมูลนี้ได้ ค่าไม่จำเป็นต้องอยู่ในเครื่องหมายคำพูดขณะกำหนดค่าสำหรับประเภทข้อมูลนี้
A NUMBER(8,2); B NUMBER(8); C NUMBER;
คำอธิบายไวยากรณ์:
- ในข้างต้น การประกาศครั้งแรกประกาศว่าตัวแปร 'A' เป็นชนิดข้อมูลตัวเลข โดยมีความแม่นยำรวม 8 และมีหลักทศนิยม 2 หลัก
- การประกาศครั้งที่สองประกาศว่าตัวแปร 'B' เป็นประเภทข้อมูลตัวเลข โดยมีความแม่นยำรวม 8 และไม่มีหลักทศนิยม
- การประกาศครั้งที่สามเป็นการประกาศแบบทั่วไปที่สุด โดยประกาศตัวแปร "C" เป็นประเภทข้อมูลตัวเลขโดยไม่มีข้อจำกัดด้านความแม่นยำหรือตำแหน่งทศนิยม สามารถใช้ตัวเลขได้สูงสุด 38 หลัก
ประเภทข้อมูล PL/SQL BOOLEAN
ชนิดข้อมูลนี้จะเก็บค่าตรรกะ Oracle ประเภทข้อมูลบูลีนแสดงถึง TRUE หรือ FALSE และส่วนใหญ่จะใช้ในคำสั่งแบบมีเงื่อนไข ค่าไม่จำเป็นต้องอยู่ภายในเครื่องหมายคำพูดขณะกำหนดประเภทข้อมูลนี้
Var1 BOOLEAN;
คำอธิบายไวยากรณ์:
- ข้างต้น ตัวแปร 'Var1' ได้รับการประกาศเป็นประเภทข้อมูล BOOLEAN ผลลัพธ์ของโค้ดจะเป็นจริงหรือเท็จตามเงื่อนไขที่ตั้งไว้
ประเภทข้อมูล PL/SQL DATE
ชนิดข้อมูลนี้จะจัดเก็บค่าในรูปแบบวันที่ เช่น วันที่ เดือน และปี เมื่อใดก็ตามที่ตัวแปรถูกกำหนดด้วยประเภทข้อมูล DATE พร้อมด้วยวันที่ ตัวแปรนั้นสามารถเก็บข้อมูลเวลาได้ และตามค่าเริ่มต้นข้อมูลเวลาจะถูกตั้งค่าเป็น 12:00:00 หากไม่ได้ระบุไว้ ค่าต้องอยู่ภายในเครื่องหมายคำพูดขณะกำหนดประเภทข้อมูลนี้
มาตรฐาน Oracle รูปแบบเวลาสำหรับอินพุตและเอาต์พุตคือ 'DD-MON-YY' และตั้งค่าอีกครั้งที่ NLS_PARAMETERS (NLS_DATE_FORMAT) ที่ระดับเซสชัน
newyear DATE:='01-JAN-2015'; current_date DATE:=SYSDATE;
คำอธิบายไวยากรณ์:
- ข้างต้น ตัวแปร 'ปีใหม่' ได้รับการประกาศเป็นประเภทข้อมูล DATE และกำหนดค่าเป็น 1 มกราคมst, 2015 วันที่.
- การประกาศครั้งที่สองประกาศตัวแปร current_date เป็นชนิดข้อมูล DATE และกำหนดค่าด้วยวันที่ปัจจุบันของระบบ
- ตัวแปรทั้งสองนี้เก็บข้อมูลเวลา
ชนิดข้อมูล PL/SQL LOB
ประเภทข้อมูลนี้ส่วนใหญ่จะใช้เพื่อจัดเก็บและจัดการบล็อกข้อมูลที่ไม่มีโครงสร้างจำนวนมาก เช่น รูปภาพ ไฟล์มัลติมีเดีย ฯลฯ Oracle ชอบ LOB แทนที่จะเป็นชนิดข้อมูล LONG เนื่องจากมีความยืดหยุ่นมากกว่าชนิดข้อมูล LONG ด้านล่างนี้คือข้อดีหลักบางประการของ LOB เหนือชนิดข้อมูล LONG
- จำนวนคอลัมน์ในตารางที่มีชนิดข้อมูล LONG จำกัดอยู่ที่ 1 ในขณะที่ตารางไม่มีข้อจำกัดเกี่ยวกับจำนวนคอลัมน์ที่มีชนิดข้อมูล LOB
- เครื่องมืออินเทอร์เฟซข้อมูลยอมรับประเภทข้อมูล LOB ของตารางในระหว่างการจำลองข้อมูล แต่จะละเว้นคอลัมน์ LONG ของตาราง คอลัมน์ยาวเหล่านี้จำเป็นต้องจำลองแบบด้วยตนเอง
- ขนาดของคอลัมน์ LONG คือ 2GB ในขณะที่ LOB สามารถจัดเก็บได้สูงสุด 128 TB
- Oracle กำลังปรับปรุงประเภทข้อมูล LOB ในแต่ละรีลีสอย่างต่อเนื่องตามความต้องการที่ทันสมัย ในขณะที่ประเภทข้อมูล LONG นั้นคงที่และไม่ได้รับการอัปเดตมากนัก
ดังนั้นควรใช้ประเภทข้อมูล LOB แทนประเภทข้อมูล LONG เสมอ ต่อไปนี้คือประเภทข้อมูล LOB ต่างๆ ซึ่งสามารถเก็บข้อมูลได้สูงสุดถึง 128 เทราไบต์
- หยด
- CLOB และ NCLOB
- บีไฟล์
ประเภทข้อมูล | Descriptไอออน | วากยสัมพันธ์ |
---|---|---|
หยด | ประเภทข้อมูลนี้จะจัดเก็บข้อมูล LOB ในรูปแบบไฟล์ไบนารีที่มีขนาดสูงสุด 128 TB ซึ่งจะไม่จัดเก็บข้อมูลตามรายละเอียดชุดอักขระ ดังนั้นจึงสามารถจัดเก็บข้อมูลที่ไม่มีโครงสร้าง เช่น อ็อบเจกต์มัลติมีเดีย รูปภาพ เป็นต้น |
Binary_data BLOB; คำอธิบายไวยากรณ์:
|
CLOB และ NCLOB | ประเภทข้อมูล CLOB จะเก็บข้อมูล LOB ไว้ในชุดอักขระ ในขณะที่ NCLOB จะเก็บข้อมูลไว้ในชุดอักขระดั้งเดิม เนื่องจากชนิดข้อมูลเหล่านี้ใช้พื้นที่จัดเก็บตามชุดอักขระ จึงไม่สามารถจัดเก็บข้อมูล เช่น มัลติมีเดีย รูปภาพ ฯลฯ ที่ไม่สามารถใส่ลงในสตริงอักขระได้ ขนาดสูงสุดของประเภทข้อมูลเหล่านี้คือ 128 TB |
Charac_data CLOB; คำอธิบายไวยากรณ์:
|
บีไฟล์ |
|
สรุป
เราได้ครอบคลุมประเภทข้อมูลง่ายๆ ต่างๆ ที่มีอยู่แล้ว PL / SQL พร้อมกับรูปแบบไวยากรณ์ของข้อมูล เราจะเรียนรู้เกี่ยวกับประเภทข้อมูลที่ซับซ้อนในหัวข้อต่อไป