日期问题

sqlserver数据库怎么通过当前的年份月份确定当前月份有哪些个日期,例如2020年9月就是从2020-09-01到2020-09-30

huangjl 发布于 2020-9-24 15:47
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
指间沙Lv6中级互助
发布于2020-9-24 15:47(编辑于 2020-9-24 15:50)

是9月份所有的日期都显示吗,是的话按照以下sql。

select 

convert(VARCHAR(10),

convert(varchar(10),dateadd(dd,number,convert(varchar(8),'${year}-${month}-25',120)+'01'),120),23)

as dt,0 as num

from master..spt_values

where type='P'

and dateadd(dd,number,convert(varchar(8),'${year}-${month}-25',120)+'01')<=dateadd(dd,-1,convert(varchar(8),dateadd(mm,1,'${year}-${month}-25'),120)+'01')

其中年份跟月份要必填,就欧克了。这样子是动态的。其他的更需需求改了哈。

最佳回答
0
krystal033Lv7高级互助
发布于2020-9-24 15:52(编辑于 2020-9-24 15:54)
select convert(varchar(10),dateadd(dd,number,convert(varchar(8),getdate(),120)+'01'),120) as dt
from master..spt_values
where type='P'
and dateadd(dd,number,convert(varchar(8),getdate(),120)+'01')<=dateadd(dd,-1,convert(varchar(8),dateadd(mm,1,getdate()),120)+'01')

这个语句是取今天所在月所有天数  如果你要改成其他月的话吧 getdate改成哪个月的日期就好了

  • 3关注人数
  • 392浏览人数
  • 最后回答于:2020-9-24 15:54
    请选择关闭问题的原因
    确定 取消
    返回顶部