有关当期计费天数的问题

bigmingming 2015-12-17 09:27:58
假设财务结算日是每月10日

如何得到字段“当期计费天数”

1.统计日今天是2015.12.16 即 2015.11.11至2015.12.10的得到的天数放入字段
2.如果统计日当天是2015.12.5 小于2015.12.10 字段应该是“未到财务结算日”
...全文
105 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hgwyl 2015-12-17
  • 打赏
  • 举报
回复
这类问题我一般都丢到程序里处理而不是数据库
Yole 2015-12-17
  • 打赏
  • 举报
回复

select case when getdate()>=Convert(varchar(10),dateadd(dd,-datepart(dd,getdate())+10,getdate()) ,23) then
datediff(dd,Convert(varchar(10),dateadd(mm,-1,dateadd(dd,-datepart(dd,getdate())+10,getdate())) ,23),Convert(varchar(10),dateadd(dd,-datepart(dd,getdate())+10,getdate()) ,23)) 
else '未到财务结算日'end
Pact_Alice 2015-12-17
  • 打赏
  • 举报
回复
DECLARE @date DATETIME SET @date=GETDATE() IF DATENAME(day,@date)>='10' BEGIN --如果是当期大于10号 SELECT DATEDIFF(DAY,dateadd(month,-1,dateadd(dd,-datepart(dd,getdate())+11,getdate())),dateadd(dd,-datepart(dd,getdate())+10,getdate())) END ELSE BEGIN --如果小于10号 SELECT '未到财务结算日' END
Yole 2015-12-17
  • 打赏
  • 举报
回复

select case when getdate()>=Convert(varchar(10),dateadd(dd,-datepart(dd,getdate())+10,getdate()) ,23) then
Convert(varchar(10),dateadd(dd,-datepart(dd,getdate())+10,getdate()) ,23) else '未到财务结算日'end
Neo_whl 2015-12-17
  • 打赏
  • 举报
回复

--try this
     select sum(case when date>='2015-12-05'and date<'2015-12-10'  then 1 else 0 end) from 表名

34,594

社区成员

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

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