2016-12-16 14 views
2

мне нужно создать запрос для обновления определенного поля необходимо увеличивать номер последнего десятичного числа, находящегося в varchar:Postgres приращение запроса обновления десятичного + 1

'1481126826.2363343' => '1481126826.2363344' 
UPDATE callcenter.chamada_agente 
    SET uniqueid = SUM('1481126826.2363343' + 1) 
WHERE id_chamada_agente = 32408 

Возможен делать в postgresql? если нет, я тоже могу это сделать в своем java-коде.

- ОБНОВЛЕНО ВОПРОС ---

Большая проблема: UniqueID является VARCHAR, и моя Postgres версия 9.2

+1

Значит, число на самом деле является переменной? Будьте осторожны, чтобы не ошибочно использовать переменную типа с плавающей точкой. Или вы хотите добавить 1^x к уникальному уже существующему? И снова этот столбец не должен иметь тип с плавающей точкой. И вообще, вы никогда не должны обновлять идентификаторы. –

+1

@ThorstenKettner: это не плавающая точка. Это еще хуже: это varchar –

+0

да, его VARCHAR, а моя версия postgres - 9.2 – sealabr

ответ

1

Вы можете сделать это:

UPDATE callcenter.chamada_agente 
    SET uniqueid = '1481126826.2363343'::decimal+0.0000001 
WHERE id_chamada_agente = 32408 

Я превращающего UniqueID в десятичный, используя «::» только для операции, протестировал его на моем собственном дБ, и результат был «1481126826.2363344».