2016-11-10 6 views
1

오라클 숫자 데이터 유형 열에 '1'대신 '001'을 입력하고 싶습니다.'1'대신 '001'로 오라클 숫자 데이터 유형 열에 데이터를 입력하고 싶습니다.

create table TEMP2 (id number); 

INSERT INTO TEMP2 VALUES(001); 

실행 : 여기

내 코드입니다

SELECT * FROM TEMP2; 

출력은 다음과 같이 나타납니다

ID 
1 

내가 '001'으로 번호를 저장 대신 할 1'.

+3

숫자 데이터 유형에는 선행 0이 없으며 표시 형식입니다. 앞의 0이나'LPAD'를 나타내는 형식으로'TO_CHAR'가 필요합니다. – dnoeth

+0

표시 형식은 클라이언트 응용 프로그램의 작업입니다. 일관된 표시 형식을 원하면'to_char' 표현식으로보기를 작성할 수 있습니다. 스토리지가 들어 가지 않습니다. –

답변

4

표시 목적으로 만 사용되는 정보는 저장하지 마십시오. 그것이 숫자라면, 꼭 그것을 숫자로 저장하십시오.

create view formatted_temp 
as 
SELECT to_char(id, 'FM000') 
FROM TEMP2; 
:

SELECT to_char(id, 'FM000') 
FROM TEMP2; 

당신이 선택을 실행할 때마다이보기를 만들 것을하지 않으려면 : 값을 표시 할 때

당신은 항상 출력을 포맷 할 수 있습니다

또는이를 수행하는 계산 된 열을 만듭니다.

alter table temp2 
    add formatted_id generated always as (to_char(id, 'FM000')); 
0

열을 VARCHAR2로 변경할 수 있습니다. 이 솔루션은 사용자의 필요에 따라 다릅니다.