SQL获取当月前3个月的第1天
我正在尝试选择当前日期前3个月的每月第一天 例如,如果当前日期为:“2015-11-08” 我的结果应该是:“2015-08-01” 我更喜欢yyyy-mm-dd格式 我一开始试过这个,但没有成功:SQL获取当月前3个月的第1天,sql,sql-server,date,Sql,Sql Server,Date,我正在尝试选择当前日期前3个月的每月第一天 例如,如果当前日期为:“2015-11-08” 我的结果应该是:“2015-08-01” 我更喜欢yyyy-mm-dd格式 我一开始试过这个,但没有成功: SELECT DATEADD(dd, -DAY('2015-09-01') + 1, @today) 我尝试了很多东西,但似乎无法破解它,任何建议或帮助将不胜感激。提前感谢逻辑很简单: 从日期中减去月日减去1天 减去三个月 在SQL Server中: select dateadd(month,
SELECT DATEADD(dd, -DAY('2015-09-01') + 1, @today)
我尝试了很多东西,但似乎无法破解它,任何建议或帮助将不胜感激。提前感谢逻辑很简单:
- 从日期中减去月日减去1天
- 减去三个月
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)
请用您正在使用的数据库标记您的问题。同时,展示你尝试过的。不用担心,去做。你尝试过什么,失败在哪里?(我对最后一部分有自己的想法)我一直在尝试使用“SELECT DATEADD(dd,-DAY('2015-09-01')+1,@today)”这对我帮助很大,效果非常好。谢谢Gordon,我没有遇到DAY函数