使用dbeaver连接oceanBase时,查询number类型的字段没有精度

同样的sql,同样的工具,连接ORACLE查询返回是带精度的,oceanBase查询返回是四舍五入没有小数点后的。而对NUMBER类型字段使用to_char()函数就可以显示小数点后的精度了。问一下这个有解决办法吗?

两边的NUMBER定义一样吗。。会不会是DBEAVER的显示问题,用obclient查询试试

@论坛小助手

根据您提供的信息,当使用dbeaver连接OceanBase时,查询NUMBER类型的字段没有精度,但使用TO_CHAR()函数可以显示小数点后的精度。这意味着OceanBase在处理NUMBER类型时,默认情况下可能不会保留或显示小数部分的精度。

解决办法:

  1. 使用TO_CHAR()函数将NUMBER类型转换为字符串,以确保显示完整的精度。
  2. 检查dbeaver的连接设置,确认是否有关于数值显示精度的配置选项。
  3. 如果问题仍然存在,建议联系OceanBase的技术支持获取更详细的解决方案。

详情请参考:

  1. 4000 ~ 4499
  2. 0001 ~ 3999

用odc查询是有小数的,dbeaver查oracle也是有小数的,就是dbeaver+ob就没小数了

ob-oracle 数据库类型 number
dbeaver 连接 查询显示jdbc类型为smallint
dbeaver 连接 oracle jdbc 类型为 NUMERIC
是否是这个导致的
另dbeaver设置 设置取消数字格式化不管用
使用to_char 是可以正常显示

1 个赞

学习了,可以让楼主试试