2012-12-28 6 views
2

isql이 반환 된 필드 앞뒤에 공백을 추가하는 것을 막을 방법이 있습니까? 테이블 행의 값을 ,으로 구분하면됩니다.isql 출력에서 ​​공백 제거

,some_column_entry,3212,another_column_entry, 

내가 모든 스위치를 통해 읽을 수 있지만 적절한 아무것도 찾을 수가 없습니다 :

,some_column_entry   ,   3213,   another_column_entry, 

그러나, 내가 원하는 : -b-s ','를 사용하여 순간, 나는 얻는다. 내 바램은 isql 출력을 구문 분석하는 대신이 양식으로 출력하는 것입니다.

편집 :

select top 1 rtrim(ltrim(convert(varchar(3), some_column)) from table 

I :

select top 1 rtrim(ltrim(some_column)) from table 

반환

,abc    , 

isql 내가 실행하는 경우 때문에 다음, 최대 문자의 크기에 따라 출력에 보인다 얻으세요 :

반대로
,abc, 

답변

0

,

,   another_column_entry, 

는 공간이 필드 항목의 일부라고 생각하는 날 리드

some_column_entry   , 

사이

Use RTRIM(LTRIM(ColumnName)) in your -q Query Select command. 
0

대비 시도 구분 기호가 사용되었습니다. man isql에서

:

이 X로 열을 구분합니다 -dx.

-x0xXX XX가 열을 구분합니다. 여기서 XX는 16 진수입니다. 예를 들어 -x0x09는 탭을 사용합니다. 그래도 문제가 해결되지 않으면

는, 당신은 파이프 간단한 sed 사용 사례를 통해 isql의 출력 할 수 있습니다

isql ... | sed -e 's/\ //g' 
+0

'-d'이 표시에 구문 오류가있을 수 있습니다. x를 열 구분자로 만들려면'-s 'x' '를 써야합니다. – bqui56