Sql Postgres在插入时自动对数字进行舍入

Sql Postgres在插入时自动对数字进行舍入,sql,postgresql,Sql,Postgresql,我有一张如下所示的表: CREATE TABLE word( id UUID PRIMARY KEY DEFAULT uuid_generate_v4(), word TEXT NOT NULL, count INT NOT NULL, ratio NUMERIC(10, 3) NOT NULL, percent_of_total NUMERIC(10, 3) NOT NULL, daily_count_id UUID REFERENCES daily_count(id)

我有一张如下所示的表:

CREATE TABLE word(
  id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
  word TEXT NOT NULL,
  count INT NOT NULL,
  ratio NUMERIC(10, 3) NOT NULL,
  percent_of_total NUMERIC(10, 3) NOT NULL,
  daily_count_id UUID REFERENCES daily_count(id)
);
67035a35-e5df-495b-95d5-cb3b4041c7b4    test    5   0.000   2.000   91858e7a-3440-4959-9074-9d197d6c97fc
然后,我尝试用这句话插入:

INSERT INTO word (word, count, ratio, percent_of_total, daily_count_id)
    VALUES ('test', 5, 5/214, 5*100/214,
            (SELECT id from daily_count WHERE day_of_count = CURRENT_DATE+1));
它起作用了。从表中选择时,它会插入值,然后数值已四舍五入,如下所示:

CREATE TABLE word(
  id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
  word TEXT NOT NULL,
  count INT NOT NULL,
  ratio NUMERIC(10, 3) NOT NULL,
  percent_of_total NUMERIC(10, 3) NOT NULL,
  daily_count_id UUID REFERENCES daily_count(id)
);
67035a35-e5df-495b-95d5-cb3b4041c7b4    test    5   0.000   2.000   91858e7a-3440-4959-9074-9d197d6c97fc
值2.000和0.000是四舍五入的,但我需要它们是精确的值


我正在使用DataGrip IDE,但我认为它与此无关。

5/214
将作为整数除法执行。即,结果将是整数

如果需要浮点除法,只需执行
5.0/214


(或使用
cast
,例如
cast(5作为数字(10,3))/214

5/214
将作为整数除法执行。即,结果将是整数

如果需要浮点除法,只需执行
5.0/214


(或使用
cast
,例如
cast(5为数字(10,3))/214

尝试5.0/214进行浮点除法。这很有效,谢谢。如果您创建了一个答案,那么我将关闭此答案。请尝试5.0/214进行浮点除法。这很有效,谢谢。如果您创建了一个答案,那么我将关闭此答案。