sql server 获得最后一天
时间: 2023-07-04 08:31:18 浏览: 103
你可以使用 SQL Server 中的 DATEADD 和 DAY 函数来获得当前月份的最后一天。下面是一个示例查询:
```
SELECT DATEADD(day, -1, DATEADD(month, DATEDIFF(month, 0, GETDATE()) + 1, 0))
```
该查询中,`GETDATE()` 函数返回当前日期时间,`DATEDIFF()` 函数计算当前月份与 1900-01-01 之间的月数,`DATEADD()` 函数将月数加回来并返回下一个月的第一天,然后再将一天减去,即得到当前月份的最后一天。
相关问题
sqlserver取当月最后一天
可以使用以下 SQL 语句获取当前日期所在月份的最后一天:
```
SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE())+1,0))
```
解释如下:
1. `DATEDIFF(m,0,GETDATE())` 获取当前日期与 1900 年 1 月 1 日之间相差的月份数;
2. `DATEADD(m, DATEDIFF(m,0,GETDATE())+1,0)` 获取当前月份的第一天;
3. `DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE())+1,0))` 获取当前月份的最后一天,即下一个月的第一天减去一秒钟。
SQLserver 获取每月的最后一天
在SQL Server中,获取每月最后一天可以通过日期函数来实现。以下是一个SQL查询示例,它使用内置函数来获取指定年份和月份的最后一天:
```sql
DECLARE @Year INT = 2023; -- 可以设置为任意年份
DECLARE @Month INT = 03; -- 可以设置为任意月份
-- 计算该月的第一天
DECLARE @FirstDayOfMonth DATE = CAST(CONCAT(@Year, '-', RIGHT('0' + CAST(@Month AS VARCHAR(2)), 2), '-01') AS DATE);
-- 计算下个月的第一天减去一天,即为这个月的最后一天
DECLARE @LastDayOfMonth DATE = DATEADD(day, -1, DATEADD(month, 1, @FirstDayOfMonth));
-- 输出这个月的最后一天
SELECT @LastDayOfMonth AS LastDayOfMonth;
```
这段代码首先声明了两个整型变量`@Year`和`@Month`来表示年份和月份,并将它们转换为日期格式的变量`@FirstDayOfMonth`,代表该月的第一天。然后通过`DATEADD`函数分别计算下个月的第一天和该月的最后一天,最后选择并输出该月的最后一天。
阅读全文