2016-10-10 73 views
0

我有一个名为BuildQuery的函数,它将一组值作为参数。将字符串数组传递给PowerShell函数

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

我要调用的函数为:

BuildQuery -start start -KeyFields name, id, age, salary -Sch dbo -TableName Employee 

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

回答

5

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

Function BuildQuery { 
    Param($start, [String[]] $KeyFields, [String] $Sch, [String] $TableName) 
    $Query = "select $($KeyFields -join ',') from '$Sch'.'$TableName'" 
} 
+0

啊,你只是一个剔更快:-) –

+1

@MartinBrandl你级别比我要近2周,伟大的,是全速返回:-D –

+0

太棒了!那正是我想要的! 。由于时间限制,无法接受答案。所以等待它完成:) – HadoopAddict