尝试获取变量的输入,并使用PowerShell中的数组将值传递给sql查询。
请帮助我理解这个
$value=read-host "Please enter the value:"
Invoke-sqlcmd -query "select * from something where somewhere in ($value)
如上例所述 我需要输入的值来传递sql查询,每个值都应该用标点符号排序。
实施例
select * from something where somewhere in('1234','2345','3456')
帮助我检索值并相应地对其进行排序以进行查询
答案 0 :(得分:0)
根据用户输入值的方式,您必须首先拆分值才能获得数组。您可能希望拆分一个或多个空格:
$value - split '\s+'
然后,您必须使用ForEach-Object
cmdlet
$value -split '\s+' | ForEach-Object {"'$_'"}
最后用逗号加入值。所以你可能想要使用这样的东西:
($value -split '\s+' | ForEach-Object {"'$_'"} ) -join ','
示例:如果用户输入:
3 12 5
你会得到
'3','12','5'