Datatypes

SQL 規範如何指定應鍵入帶小數的文字?

  • June 14, 2018

不同的數據庫以不同的方式隱式鍵入數字文字,

  • MySQL 類型1.0decimal(2,1)
  • PostgreSQL 類型1.0numeric

其中哪一項是正確的?

兩者都是正確且符合文字儲存的。在規範的眼中,有兩種​​類型的數字文字,

  • <exact numeric literal>
  • <approximate numeric literals>浮點數,由使用科學記數法觸發(使用Eor e

對於精確數字文字 (ENL),

  1. ENL 的聲明類型是實現定義的精確數字類型,其比例是<digit>s 右側的數量<period>。應該有一個精確的數字類型能夠準確地表示 ENL 的值。

對於近似數字文字 (ANL),

  1. <approximate numeric literal>ANL 的聲明類型是實現定義的近似數值類型。ANL 的值不能大於最大值,也不能小於近似數值類型所能表示的最小值。

這意味著類型只需要能夠保存文字,其餘的留給實現。

取自 SQL 2011n 規範

也可以看看

引用自:https://dba.stackexchange.com/questions/209360