人間が書くものじゃないものはコンピュータに書かせる
こんな感じで。
$months = @('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec') $months[-1..-$months.Length] | % { @" , CASE WHEN P.$($_.ToLower()) IS NOT NULL THEN '$_.' ELSE NULL END "@ }
配列の反転には要素数が少ないから上の方法を使ってるけど、普通は Array の Reverse を使うらしい。