• Try

    UPDATE table.Statements

    SET field03 = REPLACE(LTRIM(REPLACE(field03, '0', ' ')), ' ', '0')

    WHERE field03 like '0%'

    This will only try to update where field03 starts with a 0. An index on this would help

    However if you only have numbers in the string, I would probably go for a statement more like

    UPDATE table.Statements

    SET field03 = CAST(CAST(field03 as bigint) as varchar(20))

    WHERE field03 like '0%'

    Otherwise you could do

    UPDATE table.Statements

    SET field03 = SUBSTRING(field03,PATINDEX('%[^0]%',field03),20)

    WHERE field03 like '0%'