22,210
社区成员
发帖
与我相关
我的任务
分享
declare @m int,@F int,@Fd datetime
declare @FYear int,
@FPeriod int
select @FYear=2008,@FPeriod=8 --@FYear、,@FPeriod是可变的值,现在假设@FYear=2008,@FPeriod=8
if (@FPeriod-9) < 0
begin
set @F = @FYear - 1
set @m = @FPeriod + 3
end
else
begin
set @F = @FYear
set @m = @FPeriod - 9
end
set @Fd = cast(cast(@F as varchar) + '-01-' + right('00'+cast(@m as varchar),2) as datetime)
declare @m int,@F int,@Fd datetime
declare @FYear int,
@FPeriod int
select @FYear=2008,@FPeriod=8
set @fd=convert(datetime,cast(@fyear as varchar(4))+'01'+right('0'+cast(@fperiod as varchar),2))
select @fd
/*
-----------------------
2008-01-08 00:00:00.000
(1 行受影响)
*/
declare @m int,@F int,@Fd datetime
declare @FYear int,
@FPeriod int
select @FYear=2008,@FPeriod=8 --@FYear、,@FPeriod是可变的值,现在假设@FYear=2008,@FPeriod=8
if(@FPeriod-9) <0
begin
select @F=@FYear-1,@m=@FPeriod+3
end
else
begin
select @F=@FYear,@m=@FPeriod-9
end
select @Fd=cast((cast(@F as varchar(50))+'-'+cast(@m as varchar(50))+'-'+cast('01' as varchar(50))) as datetime)
select @Fd
declare @m int,@F int,@Fd datetime
declare @FYear int,
@FPeriod int
select @FYear=2008,@FPeriod=8 --@FYear、,@FPeriod是可变的值,现在假设@FYear=2008,@FPeriod=8
if(@FPeriod-9) <0
begin
select @F=@FYear-1,@m=@FPeriod+3
end
else
begin
select @F=@FYear,@m=@FPeriod-9
end
select @Fd=cast((cast(@F as varchar(50))+'-'+cast(@m as varchar(50))+'-'+cast('01' as varchar(50))) as datetime)
select @Fd