postgresql - Postgres 中的长度和精度问题
问题描述
我正在使用 postgres sql 我需要 12 位数字,小数点后我只需要 6 位数字我应该在列中给出什么长度和精度。我应该给 cloumn 什么数据类型。
我尝试将数字作为数据类型,我给列的长度是 12,精度是 6。
解决方案
如果需要小数点前12 位和小数点后 6 位,则需要numeric(18,6)
数字的小数位数是小数部分中小数位数的计数,位于小数点右侧。数字的精度是整数中有效位数的总和,即小数点两边的位数
(强调我的)
所以类型定义中的第一个数字(精度)是总位数。第二个是小数位数。
如果您指定numeric(12,6)
总共有12 位数字和 6 个小数位,那么小数点左侧的数字只剩下 6 位。为此你需要numeric(18,6)
推荐阅读
- c++ - 给定一个数组 l1,l2,l3 。. . ln 创建一个新数组,如下所示: (l1+ln),(l2+l[n-1]), . . .(l[n/2]+l[n/2+1])
- html - 单击引导卡内的 swiper.js 图像下一个/上一个按钮时如何停止传播
- node.js - FetchError:节点获取在执行间隔时返回“无效的 json 响应正文”
- javascript - 如何使位置绝对尊重垂直视口限制
- javascript - 在 Next.js 中进行客户端重新加载和更改 url
- node.js - javascript,nodejs。找不到模块“了不起”
- android - 如何在 android studio 中解决这个问题?
- ios - 如何快速从数组中的数组中获取数据
- sql - 如何在 SQL 查询中选择 Openrow 集中的动态工作表名称?
- javascript - MutationObserver 作为对象的属性在断开连接后无法立即观察