show/hide this revision's text 2 explained output format

You didn't post your CREATE TABLE statement but I think you defined end_date as a timestamp type column. If so, you don't need to cast current_timestamp(0) to CHAR. Just use:

 update tablea
   set status = 'Succeeded'
     , end_date = current_timestamp(0)
 where id = 3456;

The data in timestamp columns is not kept in any specific format. The format in the column definition is used as the default output format when converting the timestamp to char for output. If you want to output in that format, you can define the column like this:

create table tablea
(
  id integer not null,
  status char(20),
  end_date timestamp(0) format 'dd/mm/y4bhh:mi:ss'
) primary index(id);

insert into tablea values (3456, 'ok',current_timestamp(0));

update tablea
   set status = 'Succeeded'
        , end_date = current_timestamp(0)
where id = 3456;

help table tablea;

Now when you convert the column to char you get the format you want:

select cast(end_date as char(19)) from tablea;

    end_date
    29/10/2009 14:59:31          
show/hide this revision's text 1

You didn't post your CREATE TABLE statement but I think you defined end_date as a timestamp type column. If so, you don't need to cast current_timestamp(0) to CHAR. Just use:

 update tablea
   set status = 'Succeeded'
     , end_date = current_timestamp(0)
 where id = 3456;