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

Вземете ред, където колона дата и час =днес - SQL сървър noob

На SQL Server 2008 ще имате нова DATE тип данни, който бихте могли да използвате, за да постигнете това:

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) прехвърля текущата дата и час към стойност само за дата, напр. върнете '2010-04-06' за 6 април 2010 г. Добавянето на един ден към него по принцип избира всички стойности за дата и час за днес.

В SQL Server 2005 няма лесен начин да направите това - най-елегантното решение, което намерих тук, е използването на цифрова манипулация на DATETIME за постигане на същия резултат:

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. Как да деактивирате улавянето на промяна на данни (CDC) в база данни в SQL Server - урок за SQL Server

  2. Прозрачно криптиране на данни (TDE) в SQL Server в група за наличност на AlwaysOn в пример

  3. SQL заявка за актуализация на горния 1 ред

  4. Клауза VALUES в SQL Server

  5. Какъв е най-добрият начин да се справите с DBNull