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

Để nhận ngày từ datetime bằng sql

Lý do tại sao truy vấn của bạn không trả về hàng mà bạn mong đợi, là vì GETDATE () trả về phần ngày và giờ tại thời điểm truy vấn được thực thi. Giá trị trong DateCreated của bạn cột sẽ không khớp với phần thời gian, vì vậy không có hàng nào được trả lại.

Có nhiều cách khác nhau để tạo một truy vấn để nó đánh giá ngày tháng chỉ dựa trên thành phần ngày tháng. Đây là một ví dụ:

WHERE YEAR(datecreated) = YEAR(GETDATE())
  AND MONTH(datecreated) = MONTH(GETDATE())
  AND DAY(datecreated) = DAY(GETDATE())

Thực tế không may là bất kỳ truy vấn nào sử dụng một hàm trên cột có nghĩa là nếu một chỉ mục tồn tại trên cột, nó sẽ không thể được sử dụ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. Cách thay thế NULL bằng một giá trị khác trong SQL Server - ISNULL ()

  2. Chuyển cột thành hàng bằng UNPIVOT

  3. Tạo ** trần ** TẠO BẢNG và TẠO trạng thái PROC trong SQL Server

  4. Có cách nào để tắt chuyển đổi kiểu ngầm trong SQL Server không?

  5. Kiểm tra xem một bảng có khóa ngoại trong SQL Server với OBJECTPROPERTY () hay không