You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查询数据库表定义中NUMBER类型列的小数位数?

获取Oracle列定义的小数位数

你没法直接用自定义的decimal_numbers()函数从表数据里拿到列定义的小数位数,得查Oracle的数据字典视图:

  • 针对当前用户的表,用user_tab_columns视图,其中data_scale字段就对应NUMBER(p,s)里的小数位数s
  • 执行以下查询就能得到你要的结果:
SELECT data_scale AS num_decimals 
FROM user_tab_columns 
WHERE table_name = 'FOO' 
  AND column_name = 'SOMETHING';

这个查询会直接返回6,就是你定义列时设置的小数位数。

如果要查询其他用户名下的表,改用all_tab_columns或dba_tab_columns,额外加上owner = '用户名'的条件即可。

内容的提问来源于stack exchange,提问作者Nicolás Rivera

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 06:03:10