sql >> Database >  >> RDS >> Sqlserver

Om datum te krijgen van datetime in sql

De reden waarom uw query niet de rij retourneert die u verwacht, is omdat GETDATE() het datum- en tijdgedeelte retourneert op het moment dat de query werd uitgevoerd. De waarde in uw DateCreated kolom komt niet overeen met het tijdsgedeelte, dus er worden geen rijen geretourneerd.

Er zijn verschillende manieren om een ​​query samen te stellen zodat deze de datum evalueert op basis van alleen de datumcomponent. Hier is een voorbeeld:

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

De ongelukkige realiteit is dat elke zoekopdracht die een functie op de kolom gebruikt, betekent dat als er een index in de kolom bestaat, deze niet kan worden gebruikt.



  1. php- krijg laatste invoeg-ID

  2. converteer MySQL SET-gegevenstype naar Postgres

  3. Postgresql base64-codering

  4. lijst alle kolomnamen