Как подавить вывод SQL-запроса и показать только количество строк - PullRequest
0 голосов
/ 31 января 2019

У меня есть следующая команда 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 строк».Как мне это сделать?

Ответы [ 3 ]

0 голосов
/ 31 января 2019

Вы пытаетесь смешать числа с текстом, поэтому лучше всего вернуть это значение в переменную, а затем установить правило для отображения того, что вы хотите: однако вы также можете сделать это с помощью чистого SQL:

SELECT CASE
           WHEN COUNT(*) < 5000 THEN
               'Less than 5,000'
           ELSE
               CAST(COUNT(*) AS VARCHAR(10))
       END
FROM [dbo].[myTable] ;
0 голосов
/ 31 января 2019

это должно ответить на ваш вопрос.sqlcmd -S localhost -d master -Q "if ((выберите Count (*) из spt_values) <5000) PRINT 'Найдено менее 5000 строк' '</p>

ps версия: только запрос w, который отличается

Invoke-Sqlcmd -ServerInstance "localhost" -Основной базы данных -Query "if ((выберите Count (*) из spt_values) <5000) PRINT 'Найдено менее 5000 строк' '-verbose </p>

0 голосов
/ 31 января 2019

Выберите количество (*) как общее количество из таблицы

...