John,
> update table set date_iso = (date_year || '-' || date_month || '-' ||
> date_day) where table_id='838
You'll appreciate the fix, which takes less time to write than you took
to write your question:
You need to use the to_char function to format your date fragments as
strings with the proper number of digits:
ltrim(to_char(date_month, '00'))
See "formatting functions" in the docs (under "functions and
operators") for more help.
-Josh Berkus