2017-11-04 9 views
1

을 억제 :SQLCMD 반환만을 계산 - 나는 데이터베이스의 존재 여부를 확인하기 위해 SQLCMD 쿼리를 실행하는 bash는 파일이 텍스트

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 
,691처럼 확인 할 수 있도록하려면

이렇게하는 방법이 있습니까?

답변

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'")