日期计算每个月的最后一天

maggie_ma 2007-05-09 01:04:55
求3个月后的第一天和最后一天的日期
例如:本月是5月,求8月的第一天和最后一天的日期sql语句.
...全文
191 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
bill024 2007-05-09
  • 打赏
  • 举报
回复
2007-08-01
2007-08-31 00:00:00.000
sdsxlj 2007-05-09
  • 打赏
  • 举报
回复
就是本月的最后一天.
bill024 2007-05-09
  • 打赏
  • 举报
回复
--第一天
select convert(varchar(8),dateadd(month,3,getdate()),120)+'01'

--最后一天
select dateadd(day,
-1,
convert(char(8),dateadd(month,4,getdate()),120)+'01'
)
sdsxlj 2007-05-09
  • 打赏
  • 举报
回复
下个月第一天的前一天
OracleRoob 2007-05-09
  • 打赏
  • 举报
回复

declare @dt datetime

set @dt = getdate()

select
convert(varchar(7),dateadd(m,3,@dt),120) + '-01' as 第一天,
dateadd(m,1,convert(varchar(7),dateadd(m,3,@dt),120) + '-01')-1 as 最后一天
gahade 2007-05-09
  • 打赏
  • 举报
回复
declare @a datetime
set @a='2007-05-09'
select convert(char(7),dateadd(month,3,@a),120)+'-01',
dateadd(day,-1,cast(convert(char(7),dateadd(month,4,@a),120)+'-01' as datetime))
/*
---------- ------------------------------------------------------
2007-08-01 2007-08-31 00:00:00.000

(所影响的行数为 1 行)
*/
lzhcxc 2007-05-09
  • 打赏
  • 举报
回复

select convert(varchar(8), getdate(), 120)+'01'
select dateadd(month, 1, convert(varchar(8), getdate(), 120)+'01')-1
OracleRoob 2007-05-09
  • 打赏
  • 举报
回复


declare @dt datetime

set @dt = getdate()

select
convert(varchar(7),dateadd(m,3,@dt),120) + '-01' as 第一天,
cast(convert(varchar(7),dateadd(m,4,@dt),120) + '-01' as datetime)-1 as 最后一天

OracleRoob 2007-05-09
  • 打赏
  • 举报
回复


declare @dt datetime

set @dt = getdate()

select
convert(varchar(7),dateadd(m,3,@dt),120) + '-01' as 第一天,
cast(convert(varchar(7),dateadd(m,4,@dt),120) + '-01' as datetime)-1 as 第一天

34,571

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧