2017-01-11 7 views
0

Если я бегPostgreSQL Вставки нулевых значений из отборного COS (другое поле) запроса

SELECT 
(cos(radians(spa.spa_zenithangle))) 
FROM generic.spa; 

Я получаю разумный диапазон результатов от -1 до 1. но если я запускаю этот вкладыш заявление, все полученных значения в 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 возвращают результаты в порядке, но они не могут быть вставлены в другое поле?

ответ

1

Я подозреваю, что вы хотите update, не insert:

UPDATE generic.spa 
    SET spa_cos_zenith = cos(radians(spa.spa_zenithangle)); 

INSERT вставляет новые строки, так что вы копируете строки. Единственным столбцом в новых строках является значение COS(). В старых строках ничего не меняется.

+0

ах ... да..thanks школьник ошибка на моей части..выполненный сна..дох .. – SolarBrian