Oracle Các kiểu dữ liệu PL/SQL: Boolean, Number, Date [Ví dụ]
⚡ Tóm tắt thông minh
Các kiểu dữ liệu PL/SQL xác định cách thức... Oracle Nó lưu trữ, xử lý và ràng buộc từng giá trị trong một khối. Chúng được nhóm thành các loại ký tự, số, Boolean, ngày tháng và đối tượng lớn (LOB), mỗi loại có định dạng lưu trữ, giới hạn kích thước và quy tắc gán riêng.

Các kiểu dữ liệu trong PL/SQL là gì?
Loại dữ liệu Trong PL/SQL, các tham số này định nghĩa cách dữ liệu sẽ được lưu trữ, xử lý và sử dụng. Oracle Trong quá trình lưu trữ và xử lý, các kiểu dữ liệu được liên kết với một định dạng lưu trữ cụ thể và các ràng buộc về phạm vi. OracleMỗi giá trị hoặc hằng số được gán một kiểu dữ liệu.
Sự khác biệt chính giữa PL/SQL và SQL Điểm khác biệt giữa các kiểu dữ liệu là kiểu dữ liệu SQL chỉ giới hạn ở các cột trong bảng, trong khi kiểu dữ liệu PL/SQL được sử dụng rộng rãi hơn. Khối PL/SQL. Chúng ta sẽ tìm hiểu thêm về điều này ở phần sau của hướng dẫn.
Dưới đây là sơ đồ minh họa các loại khác nhau. Oracle Các kiểu dữ liệu PL/SQL:

Kiểu dữ liệu PL/SQL CHARACTER
Kiểu dữ liệu này lưu trữ các ký tự chữ và số ở định dạng chuỗi. Các giá trị cố định phải luôn được đặt trong dấu ngoặc đơn khi gán chúng cho kiểu dữ liệu CHARACTER.
Kiểu dữ liệu ký tự này được phân loại thêm như sau:
- Kiểu dữ liệu CHAR (kích thước chuỗi cố định)
- Kiểu dữ liệu VARCHAR2 (kích thước chuỗi thay đổi)
- kiểu dữ liệu VARCHAR
- NCHAR (kích thước chuỗi cố định gốc)
- NVARCHAR2 (kích thước chuỗi biến gốc)
- DÀI và DÀI NGUYÊN
| Loại dữ liệu | Mô tả Chi tiết | cú pháp |
|---|---|---|
| XE TĂNG | Kiểu dữ liệu này lưu trữ một giá trị chuỗi, và kích thước của chuỗi được cố định tại thời điểm khai báo. biến.
|
grade CHAR; manager CHAR (10):= 'guru99'; Giải thích cú pháp:
|
| VARCHAR2 | Kiểu dữ liệu này lưu trữ một chuỗi ký tự, nhưng độ dài không cố định.
|
manager VARCHAR2(10) := 'guru99'; Giải thích cú pháp:
|
| VARCHAR | Điều này đồng nghĩa với kiểu dữ liệu VARCHAR2.
|
manager VARCHAR(10) := 'guru99'; Giải thích cú pháp:
|
| NCHAR | Kiểu dữ liệu này giống với kiểu CHAR, nhưng bảng ký tự là bảng ký tự quốc gia.
|
native NCHAR(10);
Giải thích cú pháp:
|
| NVARCHAR2 | Kiểu dữ liệu này giống với VARCHAR2, nhưng bảng ký tự là bảng ký tự quốc gia.
|
Native_var NVARCHAR2(10):= 'guru99'; Giải thích cú pháp:
|
| DÀI và DÀI NGUYÊN | Kiểu dữ liệu này lưu trữ văn bản lớn hoặc dữ liệu thô với dung lượng tối đa là 2 GB.
|
Large_text LONG; Large_raw LONG RAW; Giải thích cú pháp:
Lưu ý: Việc sử dụng kiểu dữ liệu LONG không được khuyến khích bởi... OracleNên ưu tiên sử dụng kiểu dữ liệu LOB. |
SỐ PL/SQL Kiểu dữ liệu
Kiểu dữ liệu này lưu trữ các số thập phân hoặc số thực với độ chính xác lên đến 38 chữ số. Nó được sử dụng để làm việc với các trường chỉ chứa dữ liệu số. Biến có thể được khai báo kèm theo độ chính xác và thông tin chữ số thập phân hoặc không. Giá trị không cần phải được đặt trong dấu ngoặc kép khi gán.
A NUMBER(8,2); B NUMBER(8); C NUMBER;
Giải thích cú pháp:
- Khai báo đầu tiên khai báo biến 'A' thuộc kiểu dữ liệu số với độ chính xác 8 và 2 chữ số thập phân.
- Câu lệnh thứ hai khai báo 'B' thuộc kiểu dữ liệu số với độ chính xác tuyệt đối là 8 và không có chữ số thập phân.
- Loại thứ ba là loại tổng quát nhất, khai báo 'C' thuộc kiểu dữ liệu số mà không có bất kỳ hạn chế nào về độ chính xác hoặc số thập phân. Nó có thể chứa tối đa 38 chữ số.
Kiểu dữ liệu BOOLEAN PL/SQL
Kiểu dữ liệu này lưu trữ các giá trị logic. Oracle Kiểu dữ liệu Boolean biểu thị giá trị TRUE hoặc FALSE và chủ yếu được sử dụng trong các câu lệnh điều kiện. Giá trị không cần phải được đặt trong dấu ngoặc kép khi gán.
Var1 BOOLEAN;
Giải thích cú pháp:
- Biến 'Var1' được khai báo với kiểu dữ liệu BOOLEAN. Kết quả trả về sẽ là true hoặc false tùy thuộc vào điều kiện được thiết lập.
PL/SQL DATE Kiểu dữ liệu
Kiểu dữ liệu này lưu trữ các giá trị ở định dạng ngày tháng, bao gồm ngày, tháng và năm. Bất cứ khi nào một biến được định nghĩa với kiểu dữ liệu DATE, nó có thể chứa thông tin thời gian; theo mặc định, thời gian được đặt là 12:00:00 nếu không được chỉ định. Các giá trị cần được đặt trong dấu ngoặc kép khi gán.
Tiêu chuẩn này Oracle Định dạng thời gian cho đầu vào và đầu ra là 'DD-MON-YY', được thiết lập tại NLS_PARAMETERS (NLS_DATE_FORMAT) ở cấp độ phiên.
newyear DATE:= '01-JAN-2015'; current_date DATE:= SYSDATE;
Giải thích cú pháp:
- Biến 'newyear' được khai báo là kiểu dữ liệu DATE và được gán giá trị là ngày 1 tháng 1 năm 2015.
- Khai báo thứ hai cho biết 'current_date' có kiểu dữ liệu DATE và gán ngày tháng hiện tại của hệ thống.
- Cả hai biến đều chứa thông tin về thời gian.
Kiểu dữ liệu PL/SQL LOB
Kiểu dữ liệu này chủ yếu được sử dụng để lưu trữ và xử lý các khối dữ liệu phi cấu trúc lớn như hình ảnh và các tệp đa phương tiện. Oracle Ưu tiên kiểu dữ liệu LOB hơn kiểu dữ liệu LONG vì nó linh hoạt hơn. Những ưu điểm chính của LOB so với LONG là:
- Một bảng chỉ được phép có một cột kiểu LONG, trong khi đó không có giới hạn nào về số lượng cột kiểu LOB.
- Các công cụ giao diện dữ liệu chấp nhận kiểu dữ liệu LOB trong quá trình sao chép nhưng bỏ qua các cột LONG, do đó các cột này phải được sao chép thủ công.
- Cột LONG có thể lưu trữ tối đa 2 GB, trong khi cột LOB có thể lưu trữ tối đa 128 TB.
- Oracle Kiểu dữ liệu LOB liên tục được cải tiến qua mỗi bản phát hành, trong khi kiểu dữ liệu LONG hầu như không thay đổi.
Vì vậy, tốt hơn hết là nên sử dụng kiểu dữ liệu LOB thay vì LONG. Các kiểu dữ liệu LOB khác nhau dưới đây có thể lưu trữ đến 128 terabyte:
- BÃI
- CLOB và NCLOB
- BFILE
| Loại dữ liệu | Mô tả Chi tiết | cú pháp |
|---|---|---|
| BÃI | Kiểu dữ liệu này lưu trữ dữ liệu LOB ở định dạng tệp nhị phân với dung lượng tối đa 128 TB. Nó không lưu trữ dữ liệu dựa trên chi tiết bộ ký tự, do đó có thể lưu trữ dữ liệu phi cấu trúc như các đối tượng đa phương tiện và hình ảnh. |
Binary_data BLOB;
Giải thích cú pháp:
|
| CLOB và NCLOB | CLOB lưu trữ dữ liệu LOB trong bộ ký tự, trong khi NCLOB lưu trữ dữ liệu trong bộ ký tự gốc. Vì chúng sử dụng bộ nhớ dựa trên bộ ký tự, nên chúng không thể lưu trữ dữ liệu như đa phương tiện hoặc hình ảnh. Kích thước tối đa là 128 TB. |
Charac_data CLOB;
Giải thích cú pháp:
|
| BFILE |
|
