将WHERe子句与BETWEEN和null日期参数一起使用

将WHERe子句与BETWEEN和null日期参数一起使用,第1张

将WHERe子句与BETWEEN和null日期参数一起使用

当一个或另一个是

NULL
:时,只需要一些额外的条件即可处理:

AND (    (DateCreated >= @DateFrom and DateCreated < DATEADD(day,1,@DateTo))  OR (@DateFrom IS NULL AND @DateTo IS NULL) OR (@DateFrom IS NULL AND DateCreated < DATEADD(day,1,@DateTo)) OR (@DateTo IS NULL AND DateCreated >= @DateFrom)    )

编辑:Giorgi的方法更简单,在这里它适用于

DATETIME

AND (       (DateCreated >= @DateFrom OR @DateFrom IS NULL)         AND (DateCreated < DATEADD(day,1,@DateTo) OR @DateTo IS NULL)    )

BETWEEN
或对字段
<=
使用
DATE
变量时的问题
DATETIME
是,将排除最后一天午夜之后的任何时间。

'2015-02-11 13:07:56.017'
大于
'2015-02-11'

比铸造你的领域作为而
DATE
作比较,它的性能更好,每天从添加到您的变量和变化
<=
<



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4985160.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存