Sử dụng hàm chuyển đổi

Giới thiệu về Oracle SQL

Hadrien Lacroix

Content Developer

Kiểu dữ liệu

Kiểu dữ liệu xác định kiểu dữ liệu mà cột có thể chứa.

Dữ liệu số Dữ liệu ký tự Dữ liệu ngày
AVG x
SUM x
MIN x x x
COUNT x x x

Hàm chuyển đổi đổi một cột từ kiểu dữ liệu này sang kiểu khác

Giới thiệu về Oracle SQL

Hàm chuyển đổi

  • Chuyển đổi kiểu dữ liệu
    • Chuyển đổi ngầm định
    • Chuyển đổi tường minh
Giới thiệu về Oracle SQL

Chuyển đổi ngầm định

SQL tự động chuyển đổi kiểu dữ liệu

SELECT 'Track length: ' || Milliseconds
FROM Track
| 'Track length: ' || Milliseconds     |
|--------------------------------------|
| Track length: 343719                 |
| Track length: 342562                 |
| ...                                  |
Giới thiệu về Oracle SQL

Chuyển đổi tường minh

Sơ đồ tóm tắt hàm chuyển đổi và kiểu dữ liệu

Giới thiệu về Oracle SQL

Chuyển sang dữ liệu ký tự

Chuyển chuỗi number sang ký tự với hàm TO_CHAR:

SELECT UnitPrice, TO_CHAR(UnitPrice, '$999.99') 
FROM InvoiceLine
| UnitPrice   | TO_CHAR(UnitPrice, '$9.99') |
|-------------|-----------------------------|
| 0.99        | $0.99                       |
| 1.99        | $1.99                       |
| ...         | ...                         |
  • $ : Dấu $ động
  • . : Vị trí thập phân
  • 9 : Vị trí chữ số; số lượng 9 xác định độ rộng hiển thị
  • 0 : Số 0 ở đầu
  • , : Vị trí dấu phẩy trong số
Giới thiệu về Oracle SQL

Chuyển sang dữ liệu ký tự

Chuyển chuỗi date sang ký tự với hàm TO_CHAR:

SELECT TO_CHAR(BirthDate, 'DD-MON-YYYY') 
FROM Employee
| TO_CHAR(BirthDate, 'DD-MON-YYYY') |
|-----------------------------------|
| 19-SEP-1947                       |
| ...                               |
  • YYYY: Năm 4 chữ số
  • YEAR: Năm viết bằng chữ
  • MM: Tháng 2 chữ số
  • MONTH: Tên tháng đầy đủ
  • MON: Tên tháng viết tắt 3 chữ
  • DY: Tên thứ viết tắt 3 chữ
  • DAY: Tên thứ đầy đủ
  • DD: Ngày trong tháng (số)
Giới thiệu về Oracle SQL

Chuyển sang dữ liệu số

Chuyển chuỗi ký tự sang số với hàm TO_NUMBER:

SELECT TO_NUMBER('$15,000.75', '$999,999.99')
FROM DUAL
| TO_NUMBER('$15,000.75', '$999,999.99') |
|----------------------------------------|
| 15000.75                               |
  • $ : Dấu $ động
  • . : Vị trí thập phân
  • 9 : Vị trí chữ số; số lượng 9 xác định độ rộng hiển thị
  • 0 : Số 0 ở đầu
  • , : Vị trí dấu phẩy trong số
Giới thiệu về Oracle SQL

Chuyển sang dữ liệu ngày

Chuyển chuỗi ký tự sang kiểu ngày với hàm TO_DATE:

SELECT TO_DATE('2016-01-31','YYYY-MM-DD')
FROM DUAL
| TO_DATE('2016-01-31','YYYY-MM-DD')     |
|----------------------------------------|
| 31-JAN-16                              |
  • YYYY: Năm 4 chữ số
  • YEAR: Năm viết bằng chữ
  • MM: Tháng 2 chữ số
  • MONTH: Tên tháng đầy đủ
  • MON: Tên tháng viết tắt 3 chữ
  • DY: Tên thứ viết tắt 3 chữ
  • DAY: Tên thứ đầy đủ
  • DD: Ngày trong tháng (số)
Giới thiệu về Oracle SQL

Bạn nên dùng chuyển đổi kiểu dữ liệu nào?

Biển cảnh báo

 

  • Luôn dùng chuyển đổi tường minh
    • Dễ đọc và bảo trì
    • Mã sẽ tiếp tục chạy ổn định
Giới thiệu về Oracle SQL

Ayo berlatih!

Giới thiệu về Oracle SQL

Preparing Video For Download...