MS SQL compare dates?

前端 未结 5 2043
-上瘾入骨i
-上瘾入骨i 2020-12-08 01:30

I have 2 dates (datetimes):

date1 = 2010-12-31 15:13:48.593
date2 = 2010-12-31 00:00:00.000

Its the same day, just different times. Com

5条回答
  •  有刺的猬
    2020-12-08 02:19

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

    Should do what you need.

    Test Case

    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 
    

    Returns

    COMPARISON_WITH_CAST   |  COMPARISON_WITHOUT_CAST
    Y                         N
    

提交回复
热议问题