2012-11-07 174 views
1

我們如何設置數字類型列的默認值爲'00'?我試過但仍保存爲'0',我需要這樣做。Oracle:爲數字列設置默認值

//alter table table_name add column column1 default '00'; 

請給我一個建議。

+0

我嚴重懷疑你可以存儲00作爲表的數字數據類型。 – user75ponic

+0

@Polppan:怎麼辦?我試過了,它不起作用。 – user1495475

+0

我想你可能必須存儲爲varchar2或存儲爲數字,當你檢索你做select語句中的操作。 – user75ponic

回答

1

不可能存儲這樣的數字 - 以您描述的格式('00')。您可以將數字作爲數字進行存儲(當然作爲數值數據類型的值),並使用to_char函數或to_char函數與lpad函數結合使用以表示您喜歡的格式的數字。這裏有一個例子:

SQL> create table TB_SingleNumberColumn(
    2 col number 
    3 ) 
    4/

Table created 
SQL> insert into TB_SingleNumberColumn(Col) values(1); 

1 row inserted 

SQL> insert into TB_SingleNumberColumn(Col) values(5); 

1 row inserted 

SQL> insert into TB_SingleNumberColumn(Col) values(11); 

1 row inserted 

SQL> insert into TB_SingleNumberColumn(Col) values(111); 

1 row inserted 

SQL> commit; 

Commit complete 

-- The values as they are 
SQL> select * from TB_SingleNumberColumn; 

     COL 
---------- 
     1 
     5 
     11 
     111 

-- Values padded with zeros. 
SQL> select to_char(col, '000') res 
    2 from TB_SingleNumberColumn; 

RES 
---- 
001 
005 
011 
111 

SQL> select lpad(to_char(col), 3, '0') 
    2 from TB_SingleNumberColumn 
    3 ; 

LPAD(TO_CHAR(COL),3,'0') 
------------------------ 
001 
005 
011 
111 
+0

:我在這個答案後得到了一個想法。謝謝,我會實施讓你知道的。 – user1495475