私はこのような文を入力します。Firebirdの更新にtableAセットA = 10月3日6と小数
update tableA
set tableA.a = 10/3
書き込まれた値が3.33
であるがしかし、私は6小数な長さを必要とする(フィールドはdoubleです精度)。 私も試してみました:
update tableA
set tableA.a = round(10/3, 6)
とも:
update tableA
set tableA.a = cast(10/3 AS DECIMAL(17, 6))
DB に書かれた同じ値(3.33)を取得取得するには助けてくださいを右命令を書くこと3.333333
:
これは「恒久的」にするには、データ型を変更? –
私はこれをFirebird 3で再現することはできません。方言3が整数分裂を適用し、方言1のデータベースでは3.33333 ...が得られるので、方言3データベースでは期待通りに3が得られます。これを再現するために必要なすべての情報を提供してください:Firebirdのバージョン、データベースの方言、正確なDDL、これを再現するための正確なコード、および3.33を示す結論に至る方法(いくつかのGUIツールは値を表示するときに自由を取る)回避策として '10/3e0'を使用してください。 –