sql >> データベース >  >> RDS >> Sqlserver

ストアドプロシージャのselectステートメントで変数を使用して列名を渡す必要がありますが、動的クエリを使用できません

    動的SQLを使用せずにこれを行う1つの方法は、CASEステートメントを使用することです

    しかし、これは醜いです

    SELECT EPV.EmployeeCode, case @RateOfEmployee  when 'RateOfEmployee' then RateOfEmployee
    when 'X' then X 
    ..
    end , case @RateOfEmployer  when 'RateOfEmployer' then RateOfEmployer
    when 'Y' then Y
    ..
    end 
    FROM [HR_EmployeeProvisions] EPV
    

    CASEのすべての列を確認する必要があります ステートメント。



    1. exec結果をSQL変数に割り当てる方法は?

    2. SQL Serverで「datetime」を「time」に変換する(T-SQLの例)

    3. Postgresでキーワードのような列名をエスケープする

    4. SQL Serverで、特定のテーブルに対してCREATE TABLEステートメントを生成するにはどうすればよいですか?