2017-01-10 3 views
0

연결된 DB2 데이터베이스 테이블을 쿼리하는 저장 프로 시저가 있습니다. 쿼리과 같이하지만, 하나의 큰 문자열입니다DB2 쿼리에서 결과 잘라 내기

SET @sql = 'SELECT * FROM openquery(TRAP_DB2, ''SELECT...'')' 

exec sp_executesql @sql 

문제는 분명히 DB2의 사람들이 대신 VARCHAR의 CHAR을 사용했기 때문에 결과가 특정 길이로 열을 강제 공백의 무리를 반환한다는 것입니다 .

불필요한 공백을 모두 반환하지 않도록 쿼리 결과를 트리밍 할 수 있습니까?

답변

1

당신이 TRIM 기능을 필요로하는 DB2 Documentation에 따르면 : 귀하의 경우 그래서

>>-TRIM--(--+---------------------------------------+--string-expression--)->< 
      | .-BOTH-----.       |       
      '-+----------+--+---------------+--FROM-'       
       +-B--------+ '-trim-constant-'         
       +-LEADING--+              
       +-L--------+              
       +-TRAILING-+              
       '-T--------' 

:

SELECT TRIM(<Your Field Name Here>) 
FROM <Your Table Here> 
+0

네를, 나는 것을 시도하고, 불행하게도 어떤 종류의 권한 오류가있을 것 같습니다 왜냐하면 그것이 작동하지 않기 때문입니다. 연결된 서버 "TRAP_DB2"의 OLE DB 공급자 "IBMDADB2.DB2COPY1"에서 열 정보를 가져올 수 없습니다. – blacksaibot

+0

@blacksaibot 이미 시도한 내용과 직면 한 문제는 문제 해결에 도움이되는 사람들에게 매우 유용합니다. 귀하의 질문에이 상황을 추가하십시오. – iamdave