如果我跑
SELECT
(cos(radians(spa.spa_zenithangle)))
FROM generic.spa;
我得到一个从-1到1的合理范围的结果但是如果我运行此insert语句,spa.spa_cos_zenith
字段中的所有结果值都是NULLs
INSERT INTO generic.spa
(spa_cos_zenith)
SELECT
(cos(radians(spa.spa_zenithangle)))
FROM generic.spa;
表格定义为:
CREATE TABLE generic.spa (
spaid INTEGER DEFAULT nextval('generic.spa_id_seq'::regclass) NOT NULL,
measurementdatetime TIMESTAMP WITHOUT TIME ZONE,
spa_zenithangle NUMERIC(7,3),
spa_cos_zenith DOUBLE PRECISION,
CONSTRAINT spa_pk PRIMARY KEY(spaid)
)
WITH (oids = false);
任何人都知道为什么COS函数会返回结果,但是它们无法插入到另一个字段中?
答案 0 :(得分:1)
我怀疑你想要update
,而不是insert
:
UPDATE generic.spa
SET spa_cos_zenith = cos(radians(spa.spa_zenithangle));
INSERT
会插入新行,因此您要复制行。新行中唯一的列是COS()
值。旧行没有任何变化。