首页 > 解决方案 > foreach 循环遍历 SQL 数据数组时出现 Powershell IComparable 错误

问题描述

我正在创建一个包含以下内容的数组:

$QueryResults = QuerySQL -SQLInstance $Instance -SQLQuery $Query -SQLDatabase PI | select PercentDiff | format-table -HideTableHeaders

它包含:

0.36
0.47
0.89

以下 foreach 循环引发以下错误:

    if ($row -lt 1 -And $row -gt -1) {
        $over1Percent = "False"}
    else {
        $over1Percent = "True"}
        break
    }

无法比较“Microsoft.PowerShell.Commands.Internal.Format.FormatStartData”,因为它不是 IComparable。

我无法弄清楚为什么会发生这种情况,有人可以帮助我吗?谢谢!!

标签: sqlpowershell

解决方案


from 的输出Format-Table只对一件事有好处:向用户呈现数据——它对于操作生成数据的基础数据 绝对没有用。

如果您只需要 3 个PercentDiff值,请将查询管道更改为:

$QueryResults = QuerySQL -SQLInstance $Instance -SQLQuery $Query -SQLDatabase PI | Select -ExpandProperty PercentDiff

推荐阅读