in reply to DBI bind_param

non-numeric character was found where a numeric was expected

You are passing in a string ('sysdate') where the database wants a number (probably based on the type of the column). If you don't want to treat the argument verbatim, but rather have it interpreted as an SQL command, don't use a placeholder for it.

Update: or even better, have a default in your DB schema and only insert a value for it if you want to pass a non-default value.