【发布时间】:2014-08-16 02:36:26
【问题描述】:
选择
@begindate = dateadd(mm,-1,CAST(datepart(mm,getdate()) AS VARCHAR(2)) + '/15/' + CAST(datepart(YYYY,getdate() -1) AS varchar(4))),
@enddate = CAST(datepart(mm,getdate()) AS VARCHAR(2)) + '/14/' + CAST(datepart(YYYY,getdate() -1) AS varchar(4))
目前,此代码返回 5 月 15 日至 6 月 14 日的日期。这些是我需要的必需日期,但我还需要它在 2013 年,这将返回 2014 年。我试过做一个 dateadd(yyyy, -1) 但它没有工作.所以我想知道是否有人知道我如何才能得到去年的约会。
【问题讨论】:
-
为什么
dateadd(yyyy, -1, xxx)不起作用? -
你想做什么?所有这些拆分、转换和连接(以美国格式,绝对非标准)掩盖了您的要求
-
根据去年获取上月15日到当月14日的数据
-
您当前的代码返回两个不能用于日期比较的字符串,除非服务器/数据库/列排序规则正确。如果您在
WHERE语句中使用了这两个变量并且没有得到任何结果,那可能就是原因