当我在DOS批处理文件中运行时,我试图获取一个sql语句的值…
sqlcmd -E -S DEVSERVER -Q "SELECT COUNT(1) as [CaseCount] FROM Cases"@H_502_3@我没有在这个stackoverflow问题的错误级别之后,而是在从数据库返回的实际计数之后,所以我可以做一些额外的逻辑.
解决方法
您可以轻松地将执行结果保存到文本文件中,方法是使用-o sqlcmd标志或使用标准的>重定向器.然后,您可以通过删除列标题(标志-h)并从sql Server中删除行计数(SET NOCOUNT ON)来格式化此文件.
以下脚本将生成一个仅具有COUNT(1)值和换行符的文件result.txt:
sqlCMD -E -S devserver -Q "SET NOCOUNT ON; SELECT COUNT(1) FROM Cases" -h -1 > result.txt@H_502_3@然后再读取这个值…
set /p value=< result.txt echo %value%@H_502_3@