Thread: Casting int to bool with join...

Casting int to bool with join...

From
Randall Skelton
Date:
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


Re: Casting int to bool with join...

From
Randall Skelton
Date:
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:

> 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


Re: Casting int to bool with join...

From
Manfred Koizar
Date:
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