私はテーブルstartdate
とenddate
の2つの列を持っており、関数を作成する必要がありますすべての関数を渡す日付データの間にあるID
を取得する必要があります。 私の関数の入力パラメータは、月がnull
であれば、今月と年が2つの日付の間にあるかどうかを確認する方法
@Year int,
@Month int = null,
@Quarter int = null
は、私が唯一のは簡単ですが、月がチェックするためにどのように提供されている場合、それは私が提供されstartdate
とenddate
か、他の場合@Quarter
の間にある場合は、日付をチェックする必要があります年の3か月がstartdate
とenddate
と衝突するかどうかを確認する必要があります。私は今件まで書かれている何
は
CREATE FUNCTION GetAssociatesEmpID(
@Year int,
@Month int = null,
@Quarter int = null
)
RETURNS TABLE
AS BEGIN
IF @Month IS NOT NULL -- Monthly Statistics
BEGIN
END
ELSE IF @Quarter IS NOT NULL -- Quarterly Statistics
BEGIN
END
ELSE -- Yearly Statistics
BEGIN
return SELECT ID FROM Table WHRER @Year>=YEAR(startdate) AND @Year<=YEAR(enddate)
END
END
が親切月と四半期との条件で私を助けている
四半期は4可能inutsは、その月の範囲が@Quarter*3-3
との間にある 1-4間および範囲にあり@Quarter*3
'YEAR(@Year)' doesn何らかの意味がある、「@年」はすでに「INT」 – Lamak
@Lamak oh mybad指してくれてありがとう – user3452098
2016年1月は2016-01-30と2016-02-02の間ですか? –