增加列后,默认精度改变

qq_41574206 2018-04-09 10:27:19
alter table fcdata_cj00 add (fc_qjs_2 NUMBER(25,6) default 0 not null); 后默认值为0 而不是0.000000;

如果把not null 去掉 alter table fcdata_cj00 add (fc_qjs_2 NUMBER(25,6) default 0 ); 数据库的值就为0.00000了

求解 跪谢!!!
...全文
569 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 2018-05-09
  • 打赏
  • 举报
回复
引用 8 楼 qq_41574206 的回复:
我在sqlplus 里面显示的也都是0, 在plsql里面显示C2是0, C3是0.000000 不清楚为什么会这样
还有纠结这个呢, 这是两个客户端,属于显示格式的问题。 sqlplus 里有 col col_name format 语法,可以设置。
AHUA1001 2018-05-08
  • 打赏
  • 举报
回复
把number换成decimal试试看。
qq_41574206 2018-04-12
  • 打赏
  • 举报
回复
我在sqlplus 里面显示的也都是0, 在plsql里面显示C2是0, C3是0.000000 不清楚为什么会这样
jdsnhan 2018-04-10
  • 打赏
  • 举报
回复
这个东东是不是与OS的环境设置也有关系啊。我显示结果,都是0.在sqlplus下。

SQL> select * from test;

        C1         C2         C3
---------- ---------- ----------
         1          0          0
         2          0          0

SQL> desc test
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 C1                                                 NUMBER(38)
 C2                                        NOT NULL NUMBER(25,6)
 C3                                                 NUMBER(25,6)
qq_41574206 2018-04-09
  • 打赏
  • 举报
回复
自己先顶一个
  • 打赏
  • 举报
回复
两种方式都是0.000000 你重新建表试试
qq_41574206 2018-04-09
  • 打赏
  • 举报
回复
我是在plsql 里面跑的
卖水果的net 2018-04-09
  • 打赏
  • 举报
回复
是不是在sqlplus 里跑的? 那个只是显示的问题,数据没错。
qq_41574206 2018-04-09
  • 打赏
  • 举报
回复
SQL> create table test111(c1 int); SQL> insert into test111(c1) values(1); SQL> alter table test111 add c2 number(25,6) default 0 not null; SQL> alter table test111 add c3 number(25,6) default 0; SQL> insert into test111(c1) values(2); SQL> select * from test111; C1 C2 C3 ---- --------------------------- --------------------------- 1 0 0.000000 2 0 0.000000 大神为什么我的C2是0,而不是0.00000
卖水果的net 2018-04-09
  • 打赏
  • 举报
回复

SQL> 
SQL> col c1 format 0000;
SQL> create table test(c1 int);
Table created
SQL> insert into test(c1) values(1);
1 row inserted
SQL> alter table test add c2 number(25,6) default 0 not null;
Table altered
SQL> alter table test add c3 number(25,6) default 0;
Table altered
SQL> insert into test(c1) values(2);
1 row inserted
SQL> select * from test;
  C1                          C2                          C3
---- --------------------------- ---------------------------
   1                    0.000000                    0.000000
   2                    0.000000                    0.000000
SQL> drop table test purge;
Table dropped

SQL> 

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧