加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle11g – oracle词典视图中数字和整数数据类型之间的差异

发布时间:2020-12-12 14:15:28 所属栏目:百科 来源:网络整理
导读:我使用oracle字典视图来找出两个模式之间的列差异。在同步数据类型差异时,我发现NUMBER和INTEGER数据类型存储在all_tab_columns / user_tab_columns / dba_tab_columns中只有NUMBER,所以很难同步数据类型差异,其中一个模式/列有数据类型,另一个模式/列具
我使用oracle字典视图来找出两个模式之间的列差异。在同步数据类型差异时,我发现NUMBER和INTEGER数据类型存储在all_tab_columns / user_tab_columns / dba_tab_columns中只有NUMBER,所以很难同步数据类型差异,其中一个模式/列有数据类型,另一个模式/列具有整数数据类型。

虽然模式的比较显示数据类型不匹配。请使用字典视图建议是否有任何其他替代形式,或者字典视图中的任何特定属性可用于标识数据类型是否为整数。

整数只存在于sql标准,即Oracle不推荐使用。

你应该使用Number代替。

整数在Oracle后面被存储为Number。

最常见的是,当int存储为ID,并且它们没有参数定义 – 所以在理论上,你可以看看元数据视图的规模和精度列,看到没有十进制值可以存储 – 但99%的时间这个不会帮助。

如上所述,您可以查找数(38,0)列或类似(即不允许小数点的列),但这只会告诉你哪些列不能取小数,而不是定义了哪些列,以便INTS可以存储。

建议:
在数字列上做一个数据配置文件。这样的东西:

select max( case when trunc(column_name,0)=column_name then 0 else 1 end ) as has_dec_vals
 from table_name

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读