我希望使用sqlserver获得半年或半月

时间:2014-02-13 06:06:02

标签: stored-procedures sql-server-2008-r2

这是我的查询

DECLARE @Frequencyvalue DECIMAL(18,2)
DECLARE @Frequencyunits varchar(1)
SET @Frequencyvalue=(SELECT CalibrationFrequencyValue FRO dbo.InstrumentMaster      WHERE InstrumentID=@InstrumentID)
SET @Frequencyunits=(SELECT CalibrationFrequencyUnits FROM dbo.InstrumentMaster WHERE InstrumentID=@InstrumentID)
DECLARE @HalfFrequencyvalue DECIMAL(18,2)
SET @HalfFrequencyvalue=@Frequencyvalue/2   

从InstrumentMaster获取HALF(校准频率和校准周期)。 [如果校准频率为1年,则应计算截止日期为6个月) 计算下一个校准日期“。 我只需要如何获得半年或半月的查询

1 个答案:

答案 0 :(得分:0)

假设您希望从今天开始计算截止日期,并且@Frequencyunits为'y','m':

RETURN SELECT DATEADD(CASE WHEN @Frequencyunits = 'y' THEN 'yy' ELSE 'm' END,@HalfFrequencyvalue) AS DueDate