У меня есть база данных PostGIS, и мне нужно вычислить новые значения для строк в новом столбце. Эти значения должны быть средними значениями нескольких столбцов. Поэтому я делаю запрос:
INSERT INTO bdps (da_m)
VALUES (avg('da_1'+'da_2'+'da_3'+'da_4'+'da_5'+'da_6'+'da_7'));
В этом запросе bdps - это моя база данных, da_m - новый столбец, а da_1 - da_7 - существующие столбцы с типом двойной точности.
da_m был создан с использованием
ALTER TABLE bdps ADD COLUMN da_m double precision;
Я получаю следующую ошибку:
ERROR: operator is not unique: unknown + unknown
LINE 2: VALUES (avg('da_1'+'da_2'+'da_3'+'da_4'+'da_5'+'da_6'+'da_7...
^
HINT: Could not choose a best candidate operator. You might need to add explicit type casts.
********** Error **********
ERROR: operator is not unique: unknown + unknown
SQL state: 42725
Hint: Could not choose a best candidate operator. You might need to add explicit type casts.
Character: 45
Я гуглю это, и это как-то связано с приведениями.
Я запускаю PostGreSQL 8.3, а база данных находится под PostGIS 1.5 в Windows 7.