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

Porównaj daty MS SQL?

SELECT CASE WHEN CAST(date1 AS DATE) <= CAST(date2 AS DATE) ...

Powinien zrobić to, czego potrzebujesz.

Przypadek testowy

WITH dates(date1, date2, date3, date4)
     AS (SELECT CAST('20101231 15:13:48.593' AS DATETIME),
                CAST('20101231 00:00:00.000' AS DATETIME),
                CAST('20101231 15:13:48.593' AS DATETIME),
                CAST('20101231 00:00:00.000' AS DATETIME))
SELECT CASE
         WHEN CAST(date1 AS DATE) <= CAST(date2 AS DATE) THEN 'Y'
         ELSE 'N'
       END AS COMPARISON_WITH_CAST,
       CASE
         WHEN date3 <= date4 THEN 'Y'
         ELSE 'N'
       END AS COMPARISON_WITHOUT_CAST
FROM   dates 

Zwroty

COMPARISON_WITH_CAST   |  COMPARISON_WITHOUT_CAST
Y                         N


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server Agent nie uruchamia się automatycznie po ponownym uruchomieniu serwera

  2. Jak wyeksportować dane z arkusza kalkulacyjnego Excel do tabeli SQL Server 2008

  3. Jak wstawić dane, jeśli nie pomiędzy w sql server 2008?

  4. Jakiś sposób na przyspieszenie CreateIfNotExists w Entity Framework?

  5. Porównaj kolumny, w których jedna jest podobna do części drugiej