将字符串数组传递给PowerShell函数

Had*_*ict 1 powershell

我有一个名为BuildQuery的函数,它将一组值作为参数.

Function BuildQuery {
Param($start, [String[]] $KeyFields, [String] $Sch, [String] $TableName)
$Query = "select $KeyFields from '$Sch'.'$TableName'"
}
Run Code Online (Sandbox Code Playgroud)

我想把这个函数称为:

BuildQuery -start start -KeyFields name, id, age, salary -Sch dbo -TableName Employee 
Run Code Online (Sandbox Code Playgroud)

例如:我想"select name, id, age, salary from dbo.Employee " 使用PowerShell函数构建查询.我使用函数的唯一原因是我想一次又一次地看到它来构建这样的查询.

Mat*_*sen 6

使用-join运营商展开数组作为一个逗号分隔的列表:

Function BuildQuery {
    Param($start, [String[]] $KeyFields, [String] $Sch, [String] $TableName)
    $Query = "select $($KeyFields -join ',') from '$Sch'.'$TableName'"
}
Run Code Online (Sandbox Code Playgroud)