Bài viết này trình bày cách định dạng rõ ràng một ngày ở định dạng tiếng Anh ở Vương quốc Anh khi sử dụng T-SQL FORMAT()
trong SQL Server.
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 tháng bằng tiếng Anh của Vương quốc Anh.
Ví dụ 1 - Định dạng ngày ngắn của Anh
Để chỉ định rõ ràng rằng một ngày sẽ được hiển thị ở định dạng tiếng Anh của Vương quốc Anh, hãy sử dụng en-gb
như đối số văn hóa:
DECLARE @thedate date = '2020-12-01' SELECT FORMAT(@thedate, 'd', 'en-gb') Result;
Kết quả:
+------------+ | Result | |------------| | 01/12/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à vì chúng tôi đang sử dụng định dạng tiếng Anh của Vương quốc Anh nên ngày đến trước tháng (điều này trái ngược với định dạng ngày của Hoa Kỳ, trong đó tháng đến trước ngày).
Ví dụ 2 - Định dạng Ngày dài của Anh
Bạn có thể thay đổi đối số thứ hai thành chữ hoa D
để dẫn đến định dạng ngày dài hơn, với tháng được đánh vần:
DECLARE @thedate date = '2020-12-01' SELECT FORMAT(@thedate, 'D', 'en-gb') Result;
Kết quả:
+------------------+ | Result | |------------------| | 01 December 2020 | +------------------+
Ví dụ 3 - Định dạng ngày tháng tùy chỉnh của Anh
Bạn cũng có thể sử dụng định dạng ngày tùy chỉnh nếu được yêu cầu. Điều này cho phép bạn trình bày rõ ràng chính xác cách thức và vị trí của từng thành phần ngày tháng.
Ví dụ:
DECLARE @thedate date = '2020-12-01' SELECT FORMAT(@thedate, 'ddd, d MMM, yyyy', 'en-gb') Result;
Kết quả:
+------------------+ | Result | |------------------| | Tue, 1 Dec, 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.
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).