暂无图片
123456,Oracle 插入数据,变成123000456,中间插入3个0,怎么操作?
我来答
分享
暂无图片 匿名用户
123456,Oracle 插入数据,变成123000456,中间插入3个0,怎么操作?

123456,Oracle 插入数据,变成123000456,中间插入3个0,怎么操作?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
dbaking

可以创建一个函数来解决问题。

创建函数

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
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏