【问题标题】:decimal has been truncated when insert into redshift插入红移时十进制已被截断
【发布时间】:2014-04-29 08:41:36
【问题描述】:

我在redshift数据库中创建了一个表,比如

CREATE TABLE abc (
   "field1"              decimal(8,3)
)

然后我尝试运行以下SQL

insert into abc ("field1") values (666.666);

但最后我发现表中的值变成了666.66

请帮忙。

【问题讨论】:

  • 您如何显示该值?也许您的 SQL 客户端只显示两位小数?
  • 你可以通过使用类似的东西来测试这是否只是显示问题:select * from abc where field1 = 666.666;让我们知道这不会返回任何东西。
  • 我们刚刚经历了同样愚蠢的事情...加载、重新加载、删除表、重新创建它、在文档中搜索创建小数字段的秘密隐藏问题...只是发现它是 DB 客户端愚蠢、愚蠢、愚蠢的默认行为,只显示小数点后 1 位。纯粹的天才。

标签: postgresql amazon-redshift


【解决方案1】:

我终于得到了答案。

我正在为 SQL 客户端使用 Workbench,它默认只显示 2 位小数。我必须在选项设置中更改它。

【讨论】:

    【解决方案2】:

    要更改只有两位小数的默认设置,请更改 SQLWorkbench 的数据格式。这可以通过

    Preferences -> Data Formatting -> Decimal digits -> to 3 (based on the above example). 
    

    【讨论】:

      猜你喜欢
      • 2016-04-22
      • 2021-10-12
      • 1970-01-01
      • 2014-03-25
      • 1970-01-01
      • 1970-01-01
      • 2015-05-04
      • 1970-01-01
      • 2011-02-12
      相关资源
      最近更新 更多