core-jgi/migration/i9/postgresql/202208282331_IDEMPIERE-5399...

29 lines
867 B
SQL

DO $$
<<fix_times>>
DECLARE
cmd varchar;
cnt integer;
BEGIN
FOR cmd IN
SELECT 'UPDATE '||t.tablename
||' SET '||c.columnname||' = to_timestamp(''1970-01-01 '' || to_char('||c.columnname||', ''HH24:MI:SS''), ''yyyy-mm-dd HH24:MI:SS'')::timestamp '
||'WHERE '||c.columnname||' IS NOT NULL AND '
||c.columnname||' != to_timestamp(''1970-01-01 '' || to_char('||c.columnname||', ''HH24:MI:SS''), ''yyyy-mm-dd HH24:MI:SS'')::timestamp'
AS cmd
FROM ad_table t JOIN ad_column c USING (ad_table_id)
WHERE c.ad_reference_id = 24
AND t.isview='N'
ORDER BY t.tablename, c.columnname
LOOP
EXECUTE cmd;
GET DIAGNOSTICS cnt = ROW_COUNT;
RAISE NOTICE '%', cmd;
RAISE NOTICE '% rows updated', cnt;
END LOOP;
END fix_times
$$;
SELECT register_migration_script('202208282331_IDEMPIERE-5399.sql') FROM dual
;