NEWS

[DATABASE] Hướng dẫn sử dụng hàm FORMAT trong sqlserver

[DATABASE] Hướng dẫn sử dụng hàm FORMAT trong sqlserver
Đăng bởi: Thảo Meo - Lượt xem: 19602 17:14:48, 18/09/2021C#   In bài viết

Xin chào các bạn, bài viết hôm nay mình sẻ tiếp tục hướng dẫn các bạn cách sử dụng hàm FORMAT trong Sqlserver.

[DATABASE] USING FUNCTION FORMAT IN SQLSERVER

format_sql_function

Hàm Format trong sql là một tính năng được microsoft đưa vào từ phiên bản sqlsever 2012 trở lên, nó giúp bạn định dạng số, ngày tháng theo văn hóa từng khu vực, và trả về kết quả kiểu dữ liệu chuỗi nvarchar.

Cú pháp: - FORMAT (Input_value, format, culture)

Return Type:  this returns nvarchar

Các kiểu định dạng:

  • Định dạng số
  • Định dạng ngày tháng
  • Định dạng tiền tệ

Vd: Hàm định dạng ngày tháng

SELECT FORMAT(GETDATE(),'yyyy-MM-dd')

Ví dụ 1: Format số với Culture Country

 

DECLARE @Number AS DECIMAL(10,2) = 57871.984
SELECT FORMAT( @Number, 'N','en-US') AS 'US Number Format',       
       FORMAT( @Number, 'N','vi-VN')  AS 'VN Number Format'

Kết quả:

format_number_sql

Như hình ảnh trả về các bạn thấy: phần hiển thị dấu thập phân của Việt Nam được cách bằng dấu phấy (,)

Còn dấu thập phân của US là dấu chấm (.)

Ví dụ 2: Format định dạng số 

DECLARE @Number AS DECIMAL(10,2) = 57871.984
SELECT FORMAT( @Number, '#.0')     AS 'Decimal 1 số thập phân',
       FORMAT( @Number, '#.00')    AS 'Decimal 2 số thập phân'
      
SELECT FORMAT( @Number, '#,##.00') AS 'Ngăn cách 3 số phần trăm với 2 số thập phân bằng dấu phấy',
       FORMAT( @Number, '##.00')   AS 'Không hiển thị dấu phẩy ngăn cách phần trăm ba số'

Kết quả:

format_sql_number

3. Định dạng ngày tháng theo nhiều kiểu định dạng

DECLARE @date DATETIME = GETDATE()
SELECT
 FORMAT( @date,'dddd, MMMM dd, yyyy hh:mm:ss tt','en-US')  AS 'US',
 FORMAT( @date,'dddd, MMMM dd, yyyy hh:mm:ss tt','VI-VN')  AS 'Vietnamese',
 FORMAT( @date,'dddd, MMMM dd, yyyy hh:mm:ss tt','hi-IN')  AS 'Hindi',
 FORMAT( @date,'dddd, MMMM dd, yyyy hh:mm:ss tt','pa-IN')  AS 'Punjabi'

Kết quả:

format_date-vietnam_sql

Các bạn có thể định dạng ngày tùy chọn

dECLARE @date DATETIME = GETDATE()
SELECT @date AS 'GETDATE()',
    FORMAT ( @date, 'dd-MM-yyyy') AS 'dd-MM-yyyy',
    FORMAT ( @date, 'dd/MM/yyyy') AS 'dd/MM/yyyy',
    FORMAT ( @date, 'MM/dd/yyyy') AS 'MM/dd/yyyy',
    FORMAT ( @date, 'yyyy/MM/dd') AS 'yyyy/MM/dd'

Kết quả:

custome_format

4. Định dạng tiền tệ money theo văn hóa khu vực

DECLARE @Price INT = 100
SELECT FORMAT(@Price,'c','en-US') AS 'US CURRENCY',      
       FORMAT(@Price,'c','de-DE') AS 'GERMAN CURRENCY',
       FORMAT(@Price,'c','vi-VN') AS 'VIETNAMESE CURRENCY',
       FORMAT(@Price,'c','ar-OM') AS 'OMAN CURRENCY',
       FORMAT(@Price,'c','en-IN') AS 'INDIAN CURRENCY'

Kết quả:

format_currency-sql

Thanks for watching!

THÔNG TIN TÁC GIẢ

BÀI VIẾT LIÊN QUAN

[DATABASE] Hướng dẫn sử dụng hàm FORMAT trong sqlserver
Đăng bởi: Thảo Meo - Lượt xem: 19602 17:14:48, 18/09/2021C#   In bài viết

CÁC BÀI CÙNG CHỦ ĐỀ

Đọc tiếp
.