在 SQL 中创建动态日期范围
Create a dynamic date range in SQL
我是 SQL 的新手,正在尝试创建一个基于当月的动态日期 运行ge。例如,如果当前月份是 6 月,则开始日期应为 5 月 1 日,结束日期应为 5 月 31 日,依此类推。代码如下:
开始日期:
DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE())-1, 0)
结束日期:
DATEADD(MONTH, DATEDIFF(MONTH, -1, GETDATE())-1, 0)
我不太明白上面代码的意思。但是我 运行 它和输出似乎不正确。我想知道上面的代码是否实现了我的需要。
非常感谢您的帮助!
在SQL服务器中,可以使用eomonth()
:
select dateadd(day, 1, eomonth(getdate(), -2)) as start_date,
eomonth(getdate(), -1) as end_date
Here 是一个 db<>fiddle.
我是 SQL 的新手,正在尝试创建一个基于当月的动态日期 运行ge。例如,如果当前月份是 6 月,则开始日期应为 5 月 1 日,结束日期应为 5 月 31 日,依此类推。代码如下:
开始日期:
DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE())-1, 0)
结束日期:
DATEADD(MONTH, DATEDIFF(MONTH, -1, GETDATE())-1, 0)
我不太明白上面代码的意思。但是我 运行 它和输出似乎不正确。我想知道上面的代码是否实现了我的需要。
非常感谢您的帮助!
在SQL服务器中,可以使用eomonth()
:
select dateadd(day, 1, eomonth(getdate(), -2)) as start_date,
eomonth(getdate(), -1) as end_date
Here 是一个 db<>fiddle.