Invalid length parameter passed to the LEFT or SUBSTRING function
That would only happen if PostCode is missing a space. You could add conditionality such that all of PostCode is retrieved should a space not be found as follows select SUBSTRING(PostCode, 1 , case when CHARINDEX(‘ ‘, PostCode ) = 0 then LEN(PostCode) else CHARINDEX(‘ ‘, PostCode) -1 end)