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

Thay đổi định dạng ngày cho phiên hiện tại trong SQL Server

Bất cứ khi nào bạn kết nối với SQL Server, một loạt cài đặt mặc định sẽ được áp dụng cho phiên của bạn. Chúng bao gồm cài đặt ngôn ngữ và định dạng ngày tháng.

Định dạng ngày thường được xác định bởi ngôn ngữ mặc định của bạn. Ví dụ:nếu ngôn ngữ mặc định của bạn là us_english , thì định dạng ngày mặc định có thể sẽ là mdy và ngày đầu tiên của tuần sẽ là ngày 7 (Chủ nhật).

Nếu bạn thay đổi ngôn ngữ của mình, định dạng ngày của bạn sẽ được cập nhật một cách ngầm định cho phù hợp.

Tuy nhiên, bạn vẫn có tùy chọn thay đổi định dạng ngày tháng mà không cần thay đổi ngôn ngữ. Để thực hiện việc này, bạn có thể sử dụng SET DATEFORMAT .

Ví dụ

Trước tiên, hãy xem cài đặt hiện tại.

DBCC USEROPTIONS;

Kết quả:

+-------------------------+----------------+
 | Set Option              | Value          |
 |-------------------------+----------------|
 | textsize                | -1             |
 | language                | us_english     |
 | dateformat              | mdy            |
 | datefirst               | 7              |
 | lock_timeout            | 5000           |
 | quoted_identifier       | SET            |
 | arithabort              | SET            |
 | ansi_null_dflt_on       | SET            |
 | ansi_warnings           | SET            |
 | ansi_padding            | SET            |
 | ansi_nulls              | SET            |
 | concat_null_yields_null | SET            |
 | isolation level         | read committed |
 +-------------------------+----------------+ 

Vì vậy, ngôn ngữ hiện tại của tôi là us_english và định dạng ngày là mdy .

Hãy thay đổi định dạng ngày và kiểm tra lại.

SET DATEFORMAT dmy;
DBCC USEROPTIONS;

Kết quả:

+-------------------------+----------------+
 | Set Option              | Value          |
 |-------------------------+----------------|
 | textsize                | -1             |
 | language                | us_english     |
 | dateformat              | dmy            |
 | datefirst               | 7              |
 | lock_timeout            | 5000           |
 | quoted_identifier       | SET            |
 | arithabort              | SET            |
 | ansi_null_dflt_on       | SET            |
 | ansi_warnings           | SET            |
 | ansi_padding            | SET            |
 | ansi_nulls              | SET            |
 | concat_null_yields_null | SET            |
 | isolation level         | read committed |
 +-------------------------+----------------+ 

Vậy là tôi đã thay đổi thành công định dạng ngày tháng mà không cần thay đổi ngôn ngữ. Tuy nhiên, datefirst vẫn như cũ. Nếu bạn muốn thay đổi datefirst giá trị, sử dụng SET DATEFIRST .

SET DATEFIRST 1;
DBCC USEROPTIONS;

Kết quả:

 
+-------------------------+----------------+
 | Set Option              | Value          |
 |-------------------------+----------------|
 | textsize                | -1             |
 | language                | us_english     |
 | dateformat              | dmy            |
 | datefirst               | 1              |
 | lock_timeout            | 5000           |
 | quoted_identifier       | SET            |
 | arithabort              | SET            |
 | ansi_null_dflt_on       | SET            |
 | ansi_warnings           | SET            |
 | ansi_padding            | SET            |
 | ansi_nulls              | SET            |
 | concat_null_yields_null | SET            |
 | isolation level         | read committed |
 +-------------------------+----------------+ 

Trong trường hợp này, tôi đã thay đổi ngày đầu tiên của tuần thành ngày 1, tức là thứ Hai.

Đặt lại nó trở lại

Đặt ngôn ngữ sẽ đặt dateformat một cách ngầm định và datefirst cài đặt trở về giá trị mặc định cho ngôn ngữ đó (ngay cả khi bạn đặt lại ngôn ngữ thành ngôn ngữ hiện tại).

Vì vậy, trong trường hợp của tôi, tôi có thể đặt lại ngôn ngữ thành us_english và nó cũng sẽ đặt lại các giá trị định dạng ngày.

SET LANGUAGE us_English;
DBCC USEROPTIONS;

Kết quả:

+-------------------------+----------------+
 | Set Option              | Value          |
 |-------------------------+----------------|
 | textsize                | -1             |
 | language                | us_english     |
 | dateformat              | mdy            |
 | datefirst               | 7              |
 | lock_timeout            | 5000           |
 | quoted_identifier       | SET            |
 | arithabort              | SET            |
 | ansi_null_dflt_on       | SET            |
 | ansi_warnings           | SET            |
 | ansi_padding            | SET            |
 | ansi_nulls              | SET            |
 | concat_null_yields_null | SET            |
 | isolation level         | read committed |
 +-------------------------+----------------+ 

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thủ tục lưu trữ cuộc gọi SQL cho mỗi hàng mà không cần sử dụng con trỏ

  2. Cách sử dụng SqlTransaction trong C #

  3. Định dạng ngày / giờ tùy chỉnh trong SQL Server

  4. Câu lệnh ALTER TABLE xung đột với ràng buộc FOREIGN KEY trong SQL Server - Hướng dẫn sử dụng SQL Sever / TSQL Phần 69

  5. Truy vấn PIVOT động của SQL Server?