sql server 获得上月最后一天
时间: 2023-08-13 15:06:35 浏览: 116
你可以使用以下 SQL 查询来获取上个月的最后一天:
```
SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0))
```
这个查询首先获取当前日期,然后使用 `DATEDIFF` 函数计算出这一年的月数,使用 `DATEADD` 函数将计算出的月数加到基准日期(1900年1月1日)上,然后再次使用 `DATEADD` 函数在月份的基础上添加一天,并减去一秒钟,以获取上个月的最后一天。
相关问题
sql server 中求上月月初
可以使用 DATEADD 和 DATEDIFF 函数来计算上个月月初的日期。
可以使用以下查询语句来计算上个月月初的日期:
```
SELECT DATEADD(month, DATEDIFF(month, 0, GETDATE()) - 1, 0) AS LastMonthStart
```
这个查询语句将当前日期减去一个月,然后将结果与零日期比较,以获取上个月的第一天。您可以将 GETDATE() 替换为您要计算的日期。
sql server 中求上月月末
可以使用下面的 SQL 语句来求上个月月末的日期:
```sql
SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0))
```
该语句的解释如下:
1. `DATEDIFF(m,0,GETDATE())`:计算当前日期与 1900 年 1 月 1 日之间的月份数,即当前月份减去 1。
2. `DATEADD(mm, DATEDIFF(m,0,GETDATE()),0)`:将当前日期的月份设置为上个月,并将日期设置为该月的第一天,即上个月的第一天。
3. `DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0))`:将上个月的第一天减去 1 秒,即得到上个月的最后一天。
注意:该方法计算的月份是以当前系统时间为准的。如果需要计算指定月份的上个月月末,可以将 `GETDATE()` 替换为对应的日期值。
阅读全文