SELECT
-- get current day in previous month
FORMAT(dateadd(month, -1, getdate()), 'yyyy-MM-dd') as current_previousmonth,
-- get first of previous month
FORMAT(dateadd(month, -1, getdate()), 'yyyy-MM-01') as first_previousmonth,
-- previous month without date
FORMAT(dateadd(month, -1, getdate()), 'yyyy-MM') as previousmonth;
6条答案
按热度按时间vcudknz31#
假设您有某种类型的日期列。
在SQL Server中,您可以使用
datediff()
* 表示 * 此概念:然而,这不是“sargable”,这意味着它阻止了索引的使用。因此,我建议:
如果您只需要上个月的第一天,可以用途:
von4xj4u2#
试试这个
月份(获取日期())〉1则年份(获取日期())否则年份(获取日期())结束
yhuiod9q3#
使用下面给出的答案:How can I select the first day of a month in SQL?
输出:2020年12月1日00:00:00.000
d7v8vwbk4#
我可以使用FORMAT function提供下一个查询:
test T-SQL here
ie3xauqp5#
给你!
结果:
您还可以使用
CONVERT()
或FORMAT()
函数来根据需要格式化日期。axr492tv6#
请尝试SELECT格式(日期添加(月,-1,获取日期()),'月/年');
它会给予你上个月和年。如果你要比较现有表中的日期列,那么你也需要日期部分,因为你想知道哪一年的12月是上个月。但是如果你不想要年,那么调整'MM/yyyy'部分来满足你的目的。