【问题标题】:Saving result of COUNT() sql query into variable in powershell将 COUNT() sql 查询的结果保存到 powershell 中的变量中
【发布时间】:2012-04-26 17:07:17
【问题描述】:

我正在运行一个 sql 查询,它将结果保存到 csv 中。 csv 中唯一的内容是返回 COUNT() 函数。有没有办法可以将此数字直接保存到 powershell 中的变量中?

【问题讨论】:

  • Vutukuri,因为结果是 CSV,所以这并不重要。

标签: sql variables powershell count sqlcmd


【解决方案1】:

应该很简单。假设 CSV 字段名为 Result

$result = (Import-Csv .\sqlout.csv).Result

【讨论】:

  • 有没有办法不用在sqlcmd中创建csv?
  • 您可以使用 SqlServerCmdletSnapin。在Get-PSSnapin -Registered 中查找它并使用Add-PSSnapin 添加它。
  • 对 sqlcmd.exe 不太熟悉,但如果你可以让它输出像12 这样的单个数字,那么就这样做$result = sqlcmd.exe ...。将结果强制为数字(而不是字符串):[int]$result = sqlcmd.exe ....
  • 结果将类似于accounts 12
  • 在这种情况下$sqlout = sqlcmd.exe ...; $result = $sqlout.Split(' ')[1]。这会在一个空间上拆分并获取结果数组中的第二个元素。
【解决方案2】:

如果您想摆脱 CSV,您可以使用 SqlServerCmdletSnapin:

Add-PSSnapIn SqlServerCmdletSnapin100
(Invoke-Sqlcmd -server .\sqlexpress -database foo -query 'SELECT COUNT(...) FROM ...')[0]

【讨论】:

  • 这对我有用,没有“Add-PSSnapIn SqlServerCmdletSnapin100”部分
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-07-22
  • 1970-01-01
  • 1970-01-01
  • 2021-01-26
  • 2021-03-01
  • 2014-11-04
  • 2018-08-23
相关资源
最近更新 更多