Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cách hiển thị ngày ở định dạng Anh trong SQL Server (T-SQL)

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).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lấy tên ngày ngắn trong SQL Server (T-SQL)

  2. Sự khác biệt giữa Scope_Identity (), Identity (), @@ Identity và Ident_Current () là gì?

  3. Lấy số tuần cho một ngày trong MS SQL Server 2005?

  4. Lọc theo Tùy chọn OFFSET-FETCH trong Truy vấn chọn - Hướng dẫn SQL Server / TSQL Phần 118

  5. Tạo tập hợp các ngày tăng dần trong TSQL