2017-05-15 3 views
2

変数への入力を取得し、PowerShellでarrayを使用して値をSQLクエリに渡そうとしています。データベースのクエリを並べ替える

上記の例 で述べたように、私は値が句読点でソートしている必要がありますすべての値を持つSQLクエリを通過取得する必要がある入力されたこの

$value=read-host "Please enter the value:" 
Invoke-sqlcmd -query "select * from something where somewhere in ($value) 

を理解する上で私を助けてください。

select * from something where somewhere in('1234','2345','3456') 

値を検索し、ユーザーは、あなたが最初に配列を取得するために値を分割した値を入力する方法に応じて、クエリ

答えて

0

ため、それに応じて並べ替えで私を助けて。

$value -split '\s+' | ForEach-Object {"'$_'"} 

そして最後に値に参加:次に、あなたがForEach-Objectコマンドレットを使用して、単一引用符で各値を囲む必要があり

$value - split '\s+' 

:あなたは、おそらく一つまたは複数の空白によって分割したいですカンマで区切ります。

($value -split '\s+' | ForEach-Object {"'$_'"}) -join ',' 

:だから、おそらくこのようなものを使用するユーザーが入力した場合:

3 12 5 

をあなたは

'3','12','5' 
+0

おかげでマーティンを取得します!それはうまくいった もう1つのヘルプ、PLZ。 どのようにPowerShellのデータで複数の値を、それが変数に格納し、ホスト読ん=クエリ $値のたびにそれを呼び出しました「と入力した値の」私は のような... 15個の値を入力する必要があります$ value [0] = 1233 $ value [1] = 2345。 。 –

+0

あなたは大歓迎です。さらなる助けが必要な場合は新しい質問を始めてください。他の人はあなたに感謝します。 –

関連する問題