Q & A

FAQ-F085 : 공백 문자가 '?'로 보이는 현상이 있습니다. SQL Developer 툴을 사용하면 '?' 문자가 보이지 않는데 오렌지에서는 '?'표로 보이고, 해당 테이블을 EAI를 통해 MSSQL로 인터페이스하고 있는데 MSSQL에서도 동일하게 '?'로 문자가 보이네요. 모든 공백에서 발생하진 않는것으로 보입니다.

Date2021.03.09 / Hit : 238

Orange는 Oracle 클라이언트, 즉 SQLPlus를 통한 쿼리시에 동일한 데이터로 보이는지 확인바랍니다. 

SQLPlus 에서도 동일한 컬럼에 대해 공백이 ?로 표시될 경우, 해당 하는 데이터에 대한 확인이 필요합니다.

                          Select to_char(rawtohex(' ')) from dual;

위 문장 실행시 20으로 리턴되는데, ?로 표시되는 컬럼에 대해 확인 결과, 

물음표로 나오는 값의 공백이 '20'이 아닌 'C2A0'로 표시되는 경우, 데이터의 이관 등으로 인해 발생할 가능성이 있습니다. 

C2A0 값은 공백은 맞으나 2바이트 공백문자를 뜻합니다.

 

 * chr(32) : 1byte / trim 가능, replace 처리가 space로 만든 공백으로 가능

 * chr(49824) : 2byte, trim 불가, replace 처리가 space로 만든 공백으로 불가능

 

해당 값은 Unicode에서 사용되는 공백으로 정상적으로 보시기 위해서는 Unicode 버전으로 사용하셔야 합니다. 

이는 chr(49824)의 값을 공백으로 보여준다는것 뿐이지, chr(32) 값으로 변경된다는 것을 뜻하진 않기에, EAI를 통한 MSSQL에서의 ?표시는 변경되지 않습니다.

  • 대표전화
    1660-1675

  • 기술 문의
    02-6931-1734

  • 오렌지 문의
    070-8666-8175

  • 라이선스 문의
    02-6931-1728