匿名用户123456,Oracle 插入数据,变成123000456,中间插入3个0,怎么操作?
123456,Oracle 插入数据,变成123000456,中间插入3个0,怎么操作?
我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏
匿名用户123456,Oracle 插入数据,变成123000456,中间插入3个0,怎么操作?
可以创建一个函数来解决问题。
创建函数
SQL> create or replace function trunc_num(
2 p1 in number
3 )
4 return number
5 is
6 insert_num number:=0;
7 begin
8 select a.a||'000'||b.b into insert_num from (select substr(p1,1,3) a from dual ) a,(select substr(p1,4,6) b from dual ) b;
9 return insert_num;
10 exception
11 when no_data_found then
12 dbms_output.put_line('1111');
13 end;
14 /
Function created.
检查函数是否生效
SQL> select trunc_num(123456) from dual;
TRUNC_NUM(123456)
-----------------
123000456
创建一个测试表
SQL> create table t1(id number);
Table created.
向表里插入数据
SQL> insert into t1 values(trunc_num(123456));
1 row created.
SQL> commit;
Commit complete.
检查表数据
SQL> select * from t1;
ID
----------
123000456
评论
有用 1
墨值悬赏