1

我们如何为数字类型的列设置默认值“00”?我试过这个,但它仍然保存它有“0”,我需要这样做。

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

请为我建议一个方法。

4

2 回答 2

2

您可以存储为数字,当您检索时执行

select column1,to_char(column2,'00') from mytable

SQL 小提琴演示

于 2012-11-07T06:58:02.977 回答
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
于 2012-11-07T06:52:25.430 回答