【报表】帆软报表设计小技巧1—巧妙使用参数拼接日期

用年月日拼接日期,然后通过日期查询对应数据


DECLARE @today DATETIME,								-- 今天
		@month_bg DATETIME,
		@month_end DATETIME,
		@year int,
		@month int,
		@day int,

set @year=${if(len(年份)=0," DATENAME(year,GETDATE())","'"+年份+"'")}	
set @month=${if(len(月份)=0," datename(month,getdate())","'"+月份+"'")} 	
set @day=datename(day,getdate()) 
set @today=CONVERT(VARCHAR(10),@year)+'-'+CONVERT(VARCHAR(2),@month)+'-'+CONVERT(VARCHAR(2),@day)  

SELECT @month_bg= CONVERT(VARCHAR(8),@today,120)+'01'   -- 本月初日期
select @month_end=dateadd(day,-1,convert(varchar(8),dateadd(m,1,@month_bg),120)+'1 00:00:00') -- 本月末日期

用年、季度拼接季度末日期


DECLARE 	@today DATETIME,								-- 今天
		@month_bg DATETIME,
		@month_end DATETIME,
		@to_month VARCHAR(2),
		@to_quarter INT,								-- 本季度
		@to_year varchar(4),							-- 本年
		@quarter_end datetime							-- 季度末日期

SET @to_quarter=${if(len(季度)=0," datename(quarter,getdate())","'"+季度+"'")}
SET @to_year=${if(len(年份)=0," datename(year,getdate())","'"+年份+"'")}

SET @to_month= CASE WHEN @to_quarter='1' THEN '3'
				WHEN @to_quarter='2' THEN '6'
				WHEN @to_quarter='3' THEN '9'
				WHEN @to_quarter='4' THEN '12'
				END 
					
set @quarter_end= DATEADD(QUARTER,DATEDIFF(QUARTER,0,CONVERT(DATE,@to_year+'-'+@to_month+'-1',20))+1,-1) 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值