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

Chuyển đổi tên tháng thành số tháng trong SQL Server (T-SQL)

Trong SQL Server, bạn có thể sử dụng MONTH() hàm để chuyển đổi tên tháng thành số tương ứng của nó.

Ví dụ

Dưới đây là một ví dụ về chuyển đổi tên tháng thành số tháng.

SELECT MONTH('September' + '1,1');

Kết quả:

9

Những gì tôi đang làm ở đây về cơ bản là tạo ra một “ngày tháng” (bao gồm tháng được chỉ định của tôi) để Máy chủ SQL không gặp lỗi khi sử dụng MONTH() hoạt động không có ngày hợp lệ.

Hàm này chấp nhận bất kỳ biểu thức nào có thể được giải quyết thành thời gian , ngày , smalldatetime , ngày giờ , datetime2 hoặc datetimeoffset giá trị. Nó có thể là một biểu thức, biểu thức cột, biến do người dùng xác định hoặc chuỗi ký tự.

Thêm “Ngày giống như”

Bạn cũng có thể cung cấp đối số “giống ngày tháng” hơn bằng cách làm như sau:

SELECT MONTH('September' + ' 01, 1900');

Kết quả:

9

Ngày &Năm hiện tại

Hoặc nếu bạn muốn sử dụng ngày và năm hiện tại, bạn có thể làm như sau:

SELECT MONTH('September' + FORMAT(GETDATE(), 'd,y'));

Kết quả:

9

Tuy nhiên, chỉ cần nói rõ, trừ khi tháng được chỉ định giống với tháng hiện tại, bạn sẽ có một ngày khác với ngày hiện tại.

Dưới đây là một ví dụ để minh họa ý tôi muốn nói:

SELECT 
  FORMAT(GETDATE(), 'MMMM d, yyyy') AS [Today],
  'September' + FORMAT(GETDATE(), ' d, yyyy') AS [Modified],
  MONTH('September' + FORMAT(GETDATE(), ' d, yyyy')) AS [Month Number];

Kết quả:

 +----------------+--------------------+----------------+
 | Today          | Modified           | Month Number   |
 |----------------+--------------------+----------------|
 | March 22, 2020 | September 22, 2020 | 9              |
 +----------------+--------------------+----------------+ 

Tôi đã chạy truy vấn này vào ngày 22 tháng 3 năm 2020, nhưng ngày sửa đổi là ngày 22 tháng 9 năm 2020.

Bất kể, số tháng chính xác được trả về khi chúng tôi sử dụng MONTH() .


  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ưu trữ và phân tích tài liệu trên hệ thống tệp Windows với Tìm kiếm ngữ nghĩa SQL Server - Phần 2

  2. Sử dụng bộ giá trị trong mệnh đề SQL IN

  3. Cách thêm HOẶC Thả cột từ bảng đã bật CDC mà không làm mất dữ liệu trong cơ sở dữ liệu SQL Server - Hướng dẫn sử dụng SQL Server

  4. T-SQL:kiểm tra định dạng email

  5. Ghi tệp csv vào cơ sở dữ liệu SQL Server bằng python