Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

За да получите дата от datetime в sql

Причината, поради която вашата заявка не връща реда, който очаквате, е, че GETDATE() връща частта от датата и часа в момента, в който заявката е била изпълнена. Стойността във вашата DateCreated колона няма да съответства на времевата част, така че не се връщат редове.

Има различни начини за конструиране на заявка, така че да оценява датата въз основа само на компонента за дата. Ето един пример:

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

Нещастната реалност е, че всяка заявка, използваща функция в колоната, означава, че ако в колоната съществува индекс, той не може да се използва.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изисква се заявка за преброяване

  2. Грешка - препълване на SqlDateTime. Трябва да е между 1/1/1753 00:00:00 AM и 12/31/9999 23:59:59 PM

  3. Генератори на данни за SQL сървър?

  4. Премахване на кавички от всички редове в колона

  5. Как да конвертирате заглавка на колона и нейната стойност в ред в sql?