Casting int to bool with join...
I am trying to update rows in a new table and re-cast to boolean at the
same time. I am absolutely certain that the integers are 0 or 1. Is
there a one line way to do this?
UPDATE app_id_800 SET cal_byte_w_err = cal_byte_w_err.value::boolean
FROM cal_byte_w_err
WHERE app_id_800.timestamp BETWEEN '2004-01-01 00:00:00' AND
'2004-01-01 00:00:05'
AND app_id_800.timestamp = cal_byte_w_err.timestamp;
Many thanks... I've spent way too long trying to figure this out :(
Cheers,
Randall
Got it.
UPDATE app_id_800 SET cal_byte_w_err = (CASE WHEN
cal_byte_w_err.value=1 THEN 't'::boolean ELSE 'f'::boolean END)
FROM cal_byte_w_err
WHERE app_id_800.timestamp BETWEEN '2004-01-01 00:00:00' AND
'2004-01-01 00:00:05'
AND app_id_800.timestamp = cal_byte_w_err.timestamp;
Have a good weekend all.
Randall
On 2 Apr 2004, at 18:05, Randall Skelton wrote:
Show quoted text
I am trying to update rows in a new table and re-cast to boolean at
the same time. I am absolutely certain that the integers are 0 or 1.
Is there a one line way to do this?UPDATE app_id_800 SET cal_byte_w_err = cal_byte_w_err.value::boolean
FROM cal_byte_w_err
WHERE app_id_800.timestamp BETWEEN '2004-01-01 00:00:00' AND
'2004-01-01 00:00:05'
AND app_id_800.timestamp = cal_byte_w_err.timestamp;Many thanks... I've spent way too long trying to figure this out :(
Cheers,
Randall
On Fri, 2 Apr 2004 18:21:34 -0500, Randall Skelton
<skelton@brutus.uwaterloo.ca> wrote:
UPDATE app_id_800 SET cal_byte_w_err = (CASE WHEN
cal_byte_w_err.value=1 THEN 't'::boolean ELSE 'f'::boolean END)
or simply
UPDATE app_id_800
SET cal_byte_w_err = (cal_byte_w_err.value=1)
Servus
Manfred