And*_*wer 2 sql validation datetime
我试图检查优惠券在两个给定日期之间是否有效.
我没有太多的SQL经验,但目前代码正在BETWEEN尝试验证,我遇到的问题是endDate在前一天的午夜到期(例如,10/12/2012 00:00:00.000评估到午夜10/11),我需要它延伸到午夜10/12.
所以我想知道23:59:59在结束日期附加/添加是否是执行此评估的最佳方式?
目前使用:
ca.CreateDate between co.StartDate and co.EndDate
Run Code Online (Sandbox Code Playgroud)
不要BETWEEN用于连续变化的值.
你需要...
ca.CreateDate >= co.StartDate
AND ca.CreateDate < co.EndDate
Run Code Online (Sandbox Code Playgroud)
但您还需要在结束日期值中添加一天.在代码(co.EndDate + 1或类似)中,或在它自己的数据中.
例如,如果您想要2012年第一周的所有时间......
WHERE
theDateTime >= '01 Jan 2012'
AND theDateTime < '08 Jan 2012'
Run Code Online (Sandbox Code Playgroud)
这甚至适用于其他级别的粒度.
-- First 12 hours of the day
WHERE
theDateTime >= '01 Jan 2012 00:00'
AND theDateTime < '01 Jan 2012 12:00'
-- All of Jan
WHERE
theDateTime >= '01 Jan 2012'
AND theDateTime < '01 Feb 2012'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2679 次 |
| 最近记录: |