sql >> Databáze >  >> RDS >> Sqlserver

Chcete-li získat datum z datetime v sql

Důvod, proč váš dotaz nevrací řádek, který očekáváte, je ten, že GETDATE() vrací část data a času v okamžiku, kdy byl dotaz proveden. Hodnota ve vašem DateCreated sloupec nebude odpovídat časové části, takže nebudou vráceny žádné řádky.

Existují různé způsoby, jak vytvořit dotaz tak, aby vyhodnotil datum pouze na základě komponenty data. Zde je jeden příklad:

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

Nešťastnou skutečností je, že jakýkoli dotaz využívající funkci ve sloupci znamená, že pokud ve sloupci existuje index, nelze jej použít.



  1. Jakýkoli způsob, jak dosáhnout fulltextového vyhledávání na InnoDB

  2. heroku run rake db:migrate error

  3. TypeORM:Dynamicky nastavit schéma databáze pro EntityManager (nebo úložiště) za běhu?

  4. Přidání více sloupců v MySQL jedním příkazem