我正在尝试选择当前日期前3个月的第一天。
所以例如,如果当前日期是:'2015-11-08' 我的结果是:'2015-08-01'
如果这是yyyy-mm-dd格式,我更愿意。
我试过这个但是没有运气:
SELECT DATEADD(dd, -DAY('2015-09-01') + 1, @today)
我尝试了很多东西,但似乎无法解决它,任何建议或帮助将不胜感激。提前谢谢
答案 0 :(得分:13)
逻辑很简单:
在SQL Server中:
select dateadd(month, -3, dateadd(day, 1 - day(dte), dte))
目前的日期:
select cast(dateadd(month, -3, dateadd(day, 1 - day(getdate()), getdate())) as date)
作为一个字符串:
select convert(varchar(10),
dateadd(month, -3, dateadd(day, 1 - day(getdate()), getdate())),
120)