Using case expressions in update set clause
I just want to clarify that the following will always behave the way I
think it's supposed to behave:-
update tableA
set date_field = case when date_field is null then some_date
else date_field end;
If the current value of date_field for the current record is null then
set the date_field with some_date value otherwise keep the current
value of date_field.
Note: in the actual situation there'll be other fields that will
always be updated in addition to this one field that needs to be
conditionally updated.
Chris
--
Chris Velevitch
Manager - Sydney Flash Platform Developers Group
m: 0415 469 095
www.flashdev.org.au
"Chris Velevitch" <chris.velevitch@gmail.com> writes:
I just want to clarify that the following will always behave the way I
think it's supposed to behave:-update tableA
set date_field = case when date_field is null then some_date
else date_field end;If the current value of date_field for the current record is null then
set the date_field with some_date value otherwise keep the current
value of date_field.
That's correct. In this case you could also do it with
set date_field = coalesce(date_field, some_date)
--
Gregory Stark
EnterpriseDB http://www.enterprisedb.com