MS SQL比较日期? [英] MS SQL compare dates?

查看:174
本文介绍了MS SQL比较日期?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有2个日期(datetimes):

I have 2 dates (datetimes):

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

同一天,只是不同的时间。使用< = notnt工作,因为date1和date2的date1时间。所以date1< = date2是错误的,但应该是true。我可以通过查看年,月和日来比较他们是否一样?其SQL Server 2008。

Its the same day, just different times. Comparing date1 and date2 using <= doesnt work because of the date1 time. So date1 <= date2 is wrong, but should be true. Can I compare them by just looking at the year, month and day so they are the same? Its SQL Server 2008.

感谢:)

推荐答案

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

应该做你需要的。

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 

返回

COMPARISON_WITH_CAST   |  COMPARISON_WITHOUT_CAST
Y                         N

这篇关于MS SQL比较日期?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆