想要在oracle数字数据类型列中插入数据' 001'而不是' 1'。
这是我的代码:
create table TEMP2 (id number);
INSERT INTO TEMP2 VALUES(001);
执行时:
SELECT * FROM TEMP2;
输出显示为:
ID
1
我想将号码存储为' 001'而不是' 1'。
答案 0 :(得分:4)
您不应存储仅用于显示目的的信息。如果这是一个数字,那么无论如何都要将它存储为数字。
显示值时,您始终可以格式化输出:
SELECT to_char(id, 'FM000')
FROM TEMP2;
如果您不希望每次运行选择时都这样做,请创建一个视图:
create view formatted_temp
as
SELECT to_char(id, 'FM000')
FROM TEMP2;
或者创建一个为您执行此操作的计算列:
alter table temp2
add formatted_id generated always as (to_char(id, 'FM000'));
答案 1 :(得分:0)
您可以将列更改为VARCHAR2。这是一个很好的解决方案取决于您的需求