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

Câu lệnh Datetime BETWEEN không hoạt động trong SQL Server

Bạn có thời gian liên quan đến ngày của bạn không? GIỮA là bao gồm, nhưng khi bạn chuyển đổi 2013-10-18 thành một ngày, nó sẽ trở thành 2013-10-18 00:00:000.00. Mọi thứ được ghi lại sau giây đầu tiên của ngày 18 sẽ không được hiển thị bằng GIỮA, trừ khi bạn bao gồm giá trị thời gian.

Hãy thử:

SELECT 
* 
FROM LOGS 
WHERE CHECK_IN BETWEEN 
    CONVERT(datetime,'2013-10-17') 
    AND CONVERT(datetime,'2013-10-18 23:59:59:998')

nếu bạn muốn tìm kiếm cả ngày 18. Tôi đặt mili giây thành 998 vì SQL Server đang kéo vào năm 2013-10-19 00:00:00:0000 trong truy vấn.

Các trường DATETIME của SQL có mili giây. Vì vậy, tôi đã thêm 999 vào trường.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mật khẩu mặc định cho SQL Server 2012 là gì nếu tôi không đặt mật khẩu trong quá trình thiết lập?

  2. .NET Core không thể kết nối với cơ sở dữ liệu SQL Server từ xa

  3. Ràng buộc khóa chính trong cơ sở dữ liệu SQL Server là gì - Hướng dẫn sử dụng SQL Server / T-SQL Phần 54

  4. SQL Server - Khám phá nội bộ của sp_spaceused

  5. Cách thêm tệp nhật ký vào cơ sở dữ liệu máy chủ SQL (T-SQL)