TO_DATE returns timestamp data type.
The value of format-string(second parameter) is a template for how string-expression(first parameter) is interpreted and then converted to a timestamp value.
If you want to remove a suffix string ".000000", you should do it by yourself, like...
SUBSTR( CHAR( TO_DATE(.....) ) , 1 , 19 )
But,
what is the data type of the column in which you want to insert the data?
If you want to insert the data into a column with timestamp data type,
DB2 would automatically append the suffix, if you removed it.
If you want to insert the data into a column with char(or varchar) data type,
it is not necessary to convert to timestamp data type.
You can insert the string '2007-04-03 23:59:59' directly into the column.
If you want to insert the data into a column with date data type,
it is not necessary to remove a suffix.
(DB2 would remove it at the time to convert timestamp to date.)