sqlserver 根据当前日期获取本年开始日期和本月开始日期
时间: 2023-06-22 18:30:09 浏览: 95
获取本年开始日期可以使用以下 SQL 语句:
```
SELECT DATEADD(yy, DATEDIFF(yy,0,GETDATE()), 0) AS StartOfYear
```
解释一下上面的语句:DATEDIFF(yy,0,GETDATE()) 计算当前日期与 '1900-01-01' 相差的年份数,然后用 DATEADD 函数将这个年份数加到 '1900-01-01' 上,就得到了本年的开始日期。
获取本月开始日期可以使用以下 SQL 语句:
```
SELECT DATEADD(mm, DATEDIFF(mm, 0, GETDATE()), 0) AS StartOfMonth
```
解释一下上面的语句:DATEDIFF(mm, 0, GETDATE()) 计算当前日期与 '1900-01-01' 相差的月份数,然后用 DATEADD 函数将这个月份数加到 '1900-01-01' 上,就得到了本月的开始日期。
相关问题
sqlserver 起始日期
在SQL Server中,可以使用DATEADD和DATEDIFF函数来获取特定日期的起始日期。以下是几个示例:
1. 获取本年第一天的日期:
select DATEADD(yy, DATEDIFF(yy,0,getdate()), 0) as 本年第一天
2. 获取本月第一天的日期:
select DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) as 本月第一天
3. 获取本周第一天的日期:
select DATEADD(wk, DATEDIFF(wk,0,getdate()), 0) as 本周第一天
这些函数的作用是将当前日期与0日期进行比较,并根据所需的时间间隔添加或减去日期。例如,DATEDIFF(yy,0,getdate())将返回当前日期与0日期之间的年数差异,而DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)将返回当前年份的第一天。
阅读全文