Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Pobierz wiersz, w którym kolumna datetime =dzisiaj - serwer SQL noob

W SQL Server 2008 miałbyś nową DATE typ danych, którego możesz użyć, aby to osiągnąć:

SELECT (list of fields)
FROM dbo.YourTable
WHERE dateValue BETWEEN 
   CAST(GETDATE() AS DATE) AND DATEADD(DAY, 1, CAST(GETDATE() AS DATE))

CAST(GETDATE() AS DATE) rzutuje bieżącą datę i godzinę na wartość tylko dla daty, np. return '2010-04-06' dla 6 kwietnia 2010. Dodanie jednego dnia zasadniczo wybiera wszystkie dzisiejsze wartości daty i godziny.

W SQL Server 2005 nie ma na to łatwego sposobu — najbardziej eleganckim rozwiązaniem, jakie znalazłem tutaj, jest użycie numerycznej manipulacji DATETIME w celu uzyskania tego samego wyniku:

SELECT (list of fields)
FROM dbo.YourTable
WHERE dateValue BETWEEN 
   CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME) AND 
   DATEADD(DAY, 1, CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME))


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przyrost tożsamości kolumny SQL Server 2012 skacze z 6 do 1000+ przy siódmym wpisie

  2. Użyj zmiennej z TOP w instrukcji select w SQL Server bez robienia jej dynamicznej

  3. newid() wewnątrz funkcji serwera sql

  4. Podział ciągu T-SQL

  5. Różnica w obsłudze przestrzeni między Oracle a SQL Server