0

我有以下 powershell 命令,它显示 sql 表中的行数。这有效,但它还包括标题:

Invoke-Sqlcmd -ServerInstance "01-SQL1\INSTANCE22" -Database master -Query "select Count(*) from dbo.mytable"

我得到的输出是:

Column1
-------    
2450 <= This line is actually displayed under Column1 on a separate line. I just couldn't get it to display properly here.

我需要的唯一输出是如果行数大于 X 行数,则显示行数,否则打印“找到的行数少于 5000 行”。我该怎么做呢?

4

3 回答 3

1

您正在尝试将数字与文本混合,因此最好的办法是将该值返回到变量中,然后设置规则以显示您想要的任何内容:但是,您也可以使用纯 SQL 来完成此操作:

SELECT CASE
           WHEN COUNT(*) < 5000 THEN
               'Less than 5,000'
           ELSE
               CAST(COUNT(*) AS VARCHAR(10))
       END
FROM [dbo].[myTable] ;
于 2019-01-31T19:03:58.213 回答
0

这应该回答你的问题。sqlcmd -S localhost -d master -Q "if ((select Count(*) from spt_values) < 5000) PRINT 'Less than 5000 rows found'"

ps 版本:只是查询不同

Invoke-Sqlcmd -ServerInstance "localhost" -Database master -Query "if ((select Count(*) from spt_values) < 5000) PRINT 'Less than 5000 rows found'" -verbose

于 2019-01-31T20:28:43.663 回答
0

从表中选择 count(*) 作为总数

于 2019-01-31T18:44:19.900 回答