我有以下查询来获取上个月的日期数据。假设今天是23rd Dec
,那么它会获取23rd Nov
数据。但是当它为31st Dec
时,就没有31st Nov
。在这种情况下,它应该获取30th Nov
数据。
所以,我想减少一天并再次检查条件并应该获取数据。在这种情况下,假设在March 31st
上,首先该查询甚至应检查feb 31st
,然后它应该检查feb 30
,然后检查29th
,依此类推,直到有效日期为止特定月份。
我当前的查询:
select *
from dataTable
where date(datecolumn)=date(add_months(DATE(sysdate-1) ,-1));
所以,这只取得上个月的日期数据。那么,有人可以建议我如何检查查询中提到的验证并获取数据吗?
答案 0 :(得分:0)
试试这个:
SELECT dateadd(mm, -1, Convert(Datetime, '2013-12-31')