1

数値型の列のデフォルト値を '00' に設定する方法

//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 に答える