【问题标题】:sqlcmd return only count - suppress textsqlcmd 仅返回计数 - 禁止文本
【发布时间】:2017-11-04 11:09:57
【问题描述】:

我有一个 bash 文件,它执行 SQLCMD 查询以检查数据库是否存在:

sqlcmd -S localhost -U sa -P $SA_PASSWORD -d master -Q "SET NOCOUNT ON SELECT count(*) FROM master.sys.databases WHERE name = N'MyDatabaseHere'")

我尝试添加SET NOCOUNT ON,但它仍然输出如下:

------

1

我将结果分配给一个变量,我希望能够像这样检查它

myvariable == 1

有没有办法做到这一点?

【问题讨论】:

    标签: bash sqlcmd


    【解决方案1】:

    花了我一段时间,但我找到了只使用 sqlcmd 的解决方案。

    你需要使用-W -h-1 -k

    -W 删除尾随空格

    -h-1 删除标题

    -k 从输出中删除所有控制字符,例如制表符和换行符。

    TABLENAME=$(/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P $SA_PASSWORD -d master -W -h-1 -k -Q "SET NOCOUNT ON SELECT name FROM master.sys.databases WHERE name = N'MyDatabaseNameHere'")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-18
      • 2011-05-31
      相关资源
      最近更新 更多