2016-08-09 3 views
0

i 사용#####는 SQL 테이블에 실제 값 대신 표시됩니다

[열 살 형식 A10; 집합 linesize 1500;]

열 sal 및 mgr의 너비를 설정합니다. 그 후 테이블을 볼 때 mgr 및 sal 열의 값은 ######로 나타납니다. 이제 실제 값을 얻는 방법 ??

+0

나는 당신의 질문의 내용에 따라 좀 더 구체적인 태그 추측을 시도한 - 그들이 잘못이 있다면 당신은 숫자 컬럼에 대한 문자열 길이 형식을 원하는 이유는 무엇입니까, – Bridge

+0

롤백 주시기? 또한'numformat'은 무엇으로 설정되어 있고, 그 열의 숫자는 얼마나 큽니까? –

답변

3

숫자 열에 잘못된 형식 모델을 사용하고 있습니다. 유효한 요소는 listed in the documentation입니다. SQL * Plus는 의미를 알지 못하기 때문에 숫자가 유효한 숫자 형식으로 적합하지 않을 때와 동일한 동작으로 기본 설정되어있는 것처럼 보입니다. "값이 열에 맞지 않으면 SQL * Plus가 표시됩니다 숫자 대신 파운드 기호 (#)를 사용하십시오. "

과 같은 charcater column formatting은 이미 검색어로 반환 된 결과가 이미 문자열 인 경우에만 사용합니다. 당신이했다면 to_char(sal, '999G999G999') as sal; 그러나 최대 길이는 이미 형식 모델 (이 경우 +/- 부호를 허용하기 위해 12)에 의해 이미 설정되어 있습니다.

아마도 이러한 열의 서식을 지정할 필요는 없지만 숫자로 검색하고 서식을 추가하려면 적절한 모델을 사용해야합니다.

column salary format 999G999G999