two choice:
DECLARE @address_type INT = 3
DECLARE @address VARCHAR(20) = '00016C06A629'
SELECT
CASE
WHEN @address_type = 2 AND CHARINDEX('-', @address) > 0 THEN REPLACE(@address, '-', ':')
WHEN @address_type = 3 THEN SUBSTRING(@address, 1, 2) + ':' + SUBSTRING(@address, 3, 2) + ':' + SUBSTRING(@address, 5, 2) + ':' + SUBSTRING(@address, 7, 2) + ':' + SUBSTRING(@address, 9, 2) + ':' + SUBSTRING(@address, 11, 2)
ELSE @address
END AS formatted_address
DECLARE @address_type INT = 3
DECLARE @address VARCHAR(20) = '00016C06A629'
SELECT
STUFF(STUFF(STUFF(STUFF(STUFF(@address, 3, 0, ':'), 6, 0, ':'), 9, 0, ':'), 12, 0, ':'), 15, 0, ':') AS formatted_address