我使用的是postgres sql,我需要12位数字,而十进制后我只需要6位数字,我应该在列中给出什么长度和精度。我给cloumn分配了什么数据类型。
我尝试使用数值作为数据类型,并且给列的长度为12,精度为6。
答案 0 :(得分:2)
如果您需要在小数点前 12位和之后的6位数字,则需要numeric(18,6)
数字的小数位数是小数点右边小数部分中小数位数的计数。数字的精度是整数中有效位数的总数,即,数字的两侧的位数小数点
(强调我的)
因此类型定义中的第一个数字(精度)是数字的总数。第二个是小数位数。
如果您指定numeric(12,6)
,则您的总计包含12位数字和6位小数位数,小数点左边的数字只剩下6位数字。因此,您需要numeric(18,6)