テーブルは、最初の正規形ではないように見えます。
Period0IdからPeriod2Idの3つの列の代わりに、値が(0,1,2)のPeriodIndexの列と、PeriodIdの1つの列を作成すると、WHERE PeriodIndex = @Check
になります。
変数を使用した文字列補間を使用して列を選択することはできません。動的SQLを使用して、SQL文字列を動的に作成できます。または、オプションがすべて同じデータタイプである場合は、オプションをハードコーディングします。
Select ID,
Name,
StatusId = CASE @Check WHEN 0 THEN Period0Id
WHEN 1 THEN Period1Id
WHEN 2 THEN Period2Id
END
From mytable