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

Cách hiển thị ngày ở định dạng tiếng Đức trong SQL Server (T-SQL)

Khi định dạng ngày bằng FORMAT() trong SQL Server, ngày sẽ được định dạng theo ngôn ngữ của phiên cục bộ của bạn. Tuy nhiên, bạn có thể ghi đè điều này bằng cách chỉ định văn hóa sử dụng hoặc sử dụng định dạng ngày tùy chỉnh.

Bài viết này trình bày cách chỉ định rõ ràng định dạng ngày của Đức bằng cách sử dụng đối số “culture” tùy chọn của FORMAT() hàm số. Nó cũng thể hiện cách sử dụng định dạng ngày tùy chỉnh của riêng bạn nếu điều đó mong muốn hơn.

Ví dụ 1 - Định dạng ngày ngắn của tiếng Đức

Để chỉ định rõ ràng rằng một ngày nên được hiển thị ở định dạng tiếng Đức, hãy sử dụng de-de như đối số thứ ba. Đối số thứ ba (tùy chọn) này chỉ định văn hóa sẽ sử dụng.

DECLARE @thedate date = '2020-12-01'
SELECT FORMAT(@thedate, 'd', 'de-de') 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à bởi vì chúng tôi đang sử dụng định dạng tiếng Đức, ngày đến trước tháng và mỗi thành phần ngày được phân tách bằng dấu chấm.

Ví dụ 2 - Định dạng ngày dài tiếng Đức

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', 'de-de') Result;

Kết quả:

+----------------------------+
| Result                     |
|----------------------------|
| Dienstag, 1. Dezember 2020 |
+----------------------------+

Ví dụ 3 - Định dạng ngày tháng tùy chỉnh của Đức

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', 'de-de') Result;

Kết quả:

+------------------+
| Result           |
|------------------|
| Di, 1. Dez, 2020 |
+------------------+

Trong trường hợp này, tôi vẫn sử dụng đối số văn hóa để chỉ định rõ ràng ngôn ngữ sẽ sử dụng.

Hệ thống của tôi hiện đang sử dụng tiếng Anh Mỹ, vì vậy nếu tôi bỏ qua đối số văn hóa khỏi ví dụ này, tôi nhận được như sau:

DECLARE @thedate date = '2020-12-01'
SELECT FORMAT(@thedate, 'ddd, d. MMM, yyyy') Result;

Kết quả:

+-------------------+
| Result            |
|-------------------|
| Tue, 1. Dec, 2020 |
+-------------------+

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. Tổng quan về Nhiệm vụ Dịch vụ giám sát cơ sở dữ liệu mới nhất - Spotlight Cloud

  2. Tại sao máy chủ sql lưu trữ các ký tự dấu chấm hỏi thay vì các ký tự tiếng Nhật trong các trường NVarchar?

  3. Cách trả về số nhóm tăng dần trên mỗi nhóm trong SQL

  4. Ví dụ về POWER () trong SQL Server

  5. Làm cách nào để lấy phần số từ một chuỗi bằng T-SQL?