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

So sánh ngày của SQL Server chỉ dựa trên tháng và năm

Để xử lý các bất bình đẳng, chẳng hạn như giữa, tôi muốn chuyển đổi ngày / giờ thành biểu diễn YYYYMM, dưới dạng chuỗi hoặc số nguyên. Đối với ví dụ này:

DECLARE @date1 DATETIME = CAST('6/14/2014' AS DATETIME),
        @date2 DATETIME = CAST('6/15/2014' AS DATETIME),
        @date3 DATETIME = CAST('7/1/2014' AS DATETIME);

SELECT * FROM tableName WHERE @date2 BETWEEN @date1 AND @date3;

Tôi sẽ viết truy vấn là:

SELECT *
FROM tableName
WHERE year(@date2) * 100 + month(@date2) BETWEEN year(@date1) * 100 + month(@date1) AND
                                                 year(@date3) * 100 + month(@date1);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Có thể chạy nhiều câu lệnh DDL bên trong một giao dịch (trong SQL Server) không?

  2. Kết nối với máy chủ SQL hoạt động đôi khi

  3. Làm cách nào để kết hợp dữ liệu OPENXML vào Truy vấn tham gia bên trong của tôi?

  4. SQL Server SMO phàn nàn về việc thiếu DLL

  5. SQL Server:cách tính giá trị trung bình (nhóm theo)?