我不知道如何获取查询结果(qty_records)为5,因此可以在PowerShell If语句中使用它。
====
$my_query = "select count(CustomerNumber) as qty_records from customers"
$qty_records = Invoke-Sqlcmd -Query $my_query -ServerInstance "2008c" -Username sa -Password abc.1234 -Database MikeDB
if ($qty_records -gt 4) {
write-host "do something"
} else {
Write-Host "do something else"
}
Run Code Online (Sandbox Code Playgroud)
======谢谢
我认为这里的问题是,即使Invoke-SqlCmd仅返回单个值,它也会返回一个数据行,因此您需要公开实际的内容。自从我从事SQL以来已经有一段时间了,所以我对返回值的命名方式有点模糊,但是我可以根据您的SELECT确信,它将返回一个.qty_records属性,因此您需要像这样修改if语句
if ($qty_records.qty_records -gt 4) {
write-host "do something"
} else {
Write-Host "do something else"
}
Run Code Online (Sandbox Code Playgroud)
请注意,它可能会返回,.CustomerNumber就像我不正确地回忆起机制一样。如果您对使用数据行的其他方法感兴趣,建议您查看这篇文章。