Trong SQL Server, bạn có thể sử dụng T-SQL FORMAT()
chức năng hiển thị ngày ở định dạng mong muốn. Hàm này chấp nhận đối số “văn hóa” tùy chọn, bạn có thể sử dụng đối số này để chỉ định định dạng ngày tháng của Hoa Kỳ.
Bạn có thể cần hoặc không cần sử dụng đối số này, tùy thuộc vào ngôn ngữ của phiên địa phương của bạn. Tuy nhiên, đây là cách chỉ định rõ ràng định dạng ngày của Hoa Kỳ.
Ví dụ 1 - Định dạng Ngày ngắn hạn của Hoa Kỳ
Để chỉ định rõ ràng rằng một ngày sẽ được hiển thị ở định dạng tiếng Anh Mỹ, hãy sử dụng en-US
như đối số văn hóa:
DECLARE @thedate date = '2020-12-01' SELECT FORMAT(@thedate, 'd', 'en-US') Result;
Kết quả:
+-----------+ | Result | |-----------| | 12/1/2020 | +-----------+
Trong trường hợp này, tôi đã sử dụng d
viết thường như đối số thứ hai. Điều này dẫn đến một định dạng ngày tương đối ngắn, với ngày và tháng được hiển thị dưới dạng số.
Và bởi vì chúng tôi đang sử dụng định dạng ngày của Hoa Kỳ, tháng đến trước ngày.
Ví dụ 2 - Định dạng Ngày dài của Hoa Kỳ
Nếu tôi đổi nó thành chữ hoa D
, Tôi nhận được một định dạng dài hơn, với ngày và tháng được đánh vần:
DECLARE @thedate date = '2020-12-01' SELECT FORMAT(@thedate, 'D', 'en-US') Result;
Kết quả:
+---------------------------+ | Result | |---------------------------| | Tuesday, December 1, 2020 | +---------------------------+
Ví dụ 3 - Định dạng ngày tháng tùy chỉnh của Hoa Kỳ
Nếu bạn thấy rằng các định dạng ngày ở trên quá hạn chế, bạn luôn có thể chỉ định một định dạng ngày tùy chỉnh. Ví dụ:nếu bạn thích ví dụ trước, ngoại trừ bạn chỉ muốn có 3 chữ cái đầu tiên của ngày và tháng, bạn có thể làm như sau:
DECLARE @thedate date = '2020-12-01' SELECT FORMAT(@thedate, 'ddd, MMM d, yyyy', 'en-US') Result;
Kết quả:
+------------------+ | Result | |------------------| | Tue, Dec 1, 2020 | +------------------+
Tôi vẫn chỉ định một nền văn hóa mặc dù tôi đang chỉ định chính xác vị trí của từng thành phần ngày. Lý do tôi làm điều này là để nói rõ ràng ngôn ngữ sẽ sử dụng. Việc bỏ qua đối số này có thể gây ra hoặc có thể không gây ra vấn đề, tùy thuộc vào ngôn ngữ đang được sử dụng.
Điều tốt về các định dạng ngày tùy chỉnh là nó mang lại cho bạn rất nhiều sự linh hoạt. Bạn có thể chuyển đổi các thành phần xung quanh và chúng sẽ xuất hiện chính xác ở nơi bạn muốn.
Kiểm tra phiên hiện tại của bạn
Khi sử dụng FORMAT()
, nếu đối số văn hóa không được cung cấp, ngôn ngữ của phiên hiện tại sẽ được sử dụng. Ngôn ngữ này được đặt hoàn toàn hoặc rõ ràng bằng cách sử dụng SET LANGUAGE
tuyên bố.
Để biết thêm thông tin, đây là 3 cách để tải ngôn ngữ của phiên hiện tại trong SQL Server (T-SQL).
Cũng xem Cách đặt ngôn ngữ hiện tại trong SQL Server (T-SQL).