Hàm Hàm TO_CHAR trong Oracle

Trong bài này chúng ta sẽ tìm hiểu đến hàm TO_CHAR trong Oracle.

Hàm TO_CHAR dùng để chuyển đổi một số hoặc ngày tháng sang kiểu chuỗi.

1. Hàm TO_CHAR trong Oracle

Sau đây là cú pháp và cách sử dụng hàm TO_CHAR.

Cú pháp

TO_CHAR( value [, format_mask] [, nls_language] )

Trong đó:

  • value là giá trị cần chuyển đổi, có thể là number hoặc ngày tháng
  • format_mask không bắt buộc, là đinh dạng dùng để chuyển đổi value thành kiểu string
  • nls_language không bắt buộc, là ngôn ngữ dùng để chuyển đổi value thành kiểu string

Return

Hàm này sẽ trả về một chuỗi string.

Version

Hàm TO_CHAR được sử dụng ở các version sau:

  • Oracle 12c, Oracle 11g, Oracle 10g, Oracle 9i, Oracle 8i

2.Ví dụ chuyển đổi thành string trong Oracle

Sau đây chúng ta sẽ làm một vài ví dụ về cách sử dụng hàm TO_CHAR để chuyển đổi một giá trị bất kì thành kiểu string.

Ví dụ với Number

TO_CHAR(1210.73, '9999.9')
# Kết quả: ' 1210.7'

TO_CHAR(-1210.73, '9999.9')
# Kết quả: '-1210.7'

TO_CHAR(1210.73, '9,999.99')
# Kết quả: ' 1,210.73'

TO_CHAR(1210.73, '$9,999.00')
# Kết quả: ' $1,210.73'

TO_CHAR(21, '000099')
# Kết quả: ' 000021'

Ví dụ với Date

Trước tiên bạn hãy tham khảo bảng format dành cho ngày tháng đã nhé.

Và đây là các ví dụ.

TO_CHAR(sysdate, 'yyyy/mm/dd')
# Kết quả: '2003/07/09'

TO_CHAR(sysdate, 'Month DD, YYYY')
# Kết quả: 'July 09, 2003'

TO_CHAR(sysdate, 'FMMonth DD, YYYY')
# Kết quả: 'July 9, 2003'

TO_CHAR(sysdate, 'MON DDth, YYYY')
# Kết quả: 'JUL 09TH, 2003'

TO_CHAR(sysdate, 'FMMON DDth, YYYY')
# Kết quả: 'JUL 9TH, 2003'

TO_CHAR(sysdate, 'FMMon ddth, YYYY')
# Kết quả: 'Jul 9th, 2003'

Bạn hãy để ý trong các ví dụ mình có bổ sung hai kí tự FM bắt đầu cho tham số format_mask, điều này sẽ nói cho Oracle biết rằng các ký tự zero và blanks sẽ bị xóa.

Nguồn: freetuts.net