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

Cách định dạng ngày và giờ trong SQL Server

Trong SQL Server, bạn có thể sử dụng T-SQL FORMAT() chức năng định dạng ngày và / hoặc giờ. Đơn giản chỉ cần cung cấp hai đối số; ngày / giờ và định dạng sẽ sử dụng.

Định dạng được cung cấp dưới dạng chuỗi định dạng. Chuỗi định dạng xác định cách định dạng đầu ra.

FORMAT() hàm cũng chấp nhận đối số “văn hóa” tùy chọn, cho phép bạn chỉ định ngôn ngữ / khu vực mà kết quả phải tuân theo.

Ví dụ cơ bản

Đây là một ví dụ cơ bản về việc sử dụng FORMAT() chức năng định dạng ngày.

Ngày thô

Đầu tiên, đây là ngày thô trông như thế nào. Nếu chúng ta chạy câu lệnh sau:

SELECT GETDATE();

Chúng tôi nhận được một kết quả giống như sau:

2018-05-03 02:36:54.480

Ngày được định dạng

Bây giờ, chúng ta có thể sử dụng FORMAT() chức năng định dạng ngày và giờ đó thành định dạng ưa thích của chúng tôi. Ví dụ, chúng tôi có thể làm điều này:

SELECT FORMAT( GETDATE(), 'D');

Kết quả là:

Thursday, May 3, 2018

Đây chỉ là một trong nhiều định dạng mà chúng tôi có thể chọn. Đây là một cái khác:

SELECT FORMAT( GETDATE(), 'd');

Kết quả là:

5/3/2018

Kết quả thực tế sẽ khác nhau tùy thuộc vào cách nuôi cấy đang được sử dụng. Theo mặc định, ngôn ngữ của phiên hiện tại được sử dụng, nhưng bạn cũng có thể ghi đè ngôn ngữ này bằng đối số thứ ba (“culture”).

Đặt ngôn ngữ

Chúng tôi có thể thêm đối số thứ ba (“văn hóa”) vào mã trên để xác định ngôn ngữ sẽ sử dụng cho định dạng ngày.

Vì vậy, chúng tôi có thể làm điều này, ví dụ:

SELECT FORMAT( GETDATE(), 'd', 'en-gb');

Kết quả là:

03/05/2018

Đây là một ví dụ khác:

SELECT FORMAT( GETDATE(), 'd', 'zh-cn');

Kết quả là:

2018/5/3

Nếu văn hóa đối số không được cung cấp, ngôn ngữ của phiên hiện tại được sử dụng.

Đây là cách tìm ngôn ngữ của phiên hiện tại và đây là cách đặt ngôn ngữ đó.

Lưu ý rằng ngôn ngữ hiện tại thường sẽ giống với ngôn ngữ mặc định của người dùng, nhưng điều này có thể không đúng nếu người dùng đã thay đổi ngôn ngữ hiện tại bằng cách sử dụng SET LANGUAGE . Trong mọi trường hợp, bạn cũng có thể tìm hiểu ngôn ngữ mặc định là gì.

Như bạn có thể tưởng tượng, bạn có thể nhận được các kết quả khá khác nhau tùy thuộc vào ngôn ngữ hiện tại của bạn hoặc giá trị của bất kỳ lập luận “văn hóa” nào. Xem Cách cài đặt ngôn ngữ có thể ảnh hưởng đến kết quả FORMAT () của bạn để biết thêm ví dụ.

Trích xuất Tháng / Tuần / Năm

Bạn có thể sử dụng FORMAT() chức năng chỉ trả về phần tháng của ngày hoặc tuần hoặc năm theo yêu cầu.

Lưu ý rằng chúng có phân biệt chữ hoa chữ thường. Ví dụ:MMM định dạng tháng khác nhau thành mmm .

Tháng

Mã ví dụ để trả lại phần tháng:

SELECT FORMAT( GETDATE(), 'MMM');

Kết quả:

May

Năm

Mã ví dụ để trả lại phần của năm:

SELECT FORMAT( GETDATE(), 'yyyy');

Kết quả:

2018

Ngày

Mã ví dụ để trả lại phần trong ngày:

SELECT FORMAT( GETDATE(), 'dddd');

Kết quả:

Thursday

Trích xuất thời gian

Bạn cũng có thể sử dụng FORMAT() chức năng trả về thời gian ở một định dạng được chỉ định.

Đây là một ví dụ:

SELECT FORMAT( GETDATE(), 'hh.mm');

Kết quả:

03.37

Nhà thiết kế AM / PM

Bạn cũng có thể thêm tt để bao gồm bộ chỉ định AM / PM:

SELECT FORMAT( GETDATE(), 'hh.mm tt');

Kết quả:

03.37 AM

Kết hợp các chuỗi định dạng

Bạn cũng có thể kết hợp các chuỗi định dạng này để cung cấp định dạng ngày tùy chỉnh của riêng bạn. Ví dụ:

SELECT FORMAT( GETDATE(), 'hh.mm tt dddd, dd MMMM, yyyy');

Kết quả:

03.41 AM Thursday, 03 May, 2018

Tham chiếu định dạng ngày và giờ

Các bài viết sau đây chứa tất cả các mã định dạng ngày và giờ có thể được sử dụng với FORMAT() chức năng trong SQL Server, cùng với các ví dụ T-SQL:

  • Chuỗi định dạng ngày và giờ chuẩn
  • Chuỗi định dạng ngày và giờ tùy chỉnh

Đây là những chỉ định định dạng ngày và giờ giống nhau được hỗ trợ bởi .NET Framework (FORMAT() chức năng dựa trên .NET Framework).

Tham chiếu thông số định dạng số

Các bài viết sau chứa tất cả các từ định dạng số mà bạn có thể sử dụng với FORMAT() chức năng (tức là để định dạng số):

  • Chuỗi định dạng số chuẩn
  • Chuỗi định dạng số tùy chỉnh

Đây là các thông số định dạng số giống nhau được .NET Framework hỗ trợ.

Các hàm ngày khác

T-SQL cũng bao gồm một loạt các hàm khác giúp bạn trích xuất các phần từ ngày tháng. Chúng bao gồm các hàm như DAY() , MONTH() , YEAR() , DATEPART()DATENAME() .


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JPA SQL Server Không ánh xạ phương ngữ cho loại JDBC:-9

  2. Kiểm tra tình trạng máy chủ SQL chủ động, Phần 2:Bảo trì

  3. Khi hiệu suất của Distinction và Group By khác nhau?

  4. Nhận thông tin cột cho một bảng hoặc dạng xem trong SQL Server (T-SQL:sp_columns)

  5. Giải pháp CHÈN HOẶC CẬP NHẬT trên SQL Server