• Of course you could also do this (will need some changes if you have null columns, but those could be excluded in the query):

    CREATE TABLE MyTable (Column1 VARCHAR(MAX) SPARSE);

    INSERT INTO MyTable VALUES
        ('158001258006000000000000000000000000000000000000000000000000'),
        ('158001006000000000000000000000000000000000000000000000000000'),
        ('158267001118365397398399006000000000000000000000000000000000'),
        ('112070001365006000000000000000000000000000000000000000000000');
    GO

    WITH etally(n) AS (SELECT ROW_NUMBER()OVER (ORDER BY (SELECT NULL)) - 1 FROM (VALUES (0),(0),(0),(0),(0),(0),(0),(0),(0),(0))dt(n) CROSS JOIN (VALUES (0),(0),(0),(0),(0),(0))dt1(n)),
         Pos(n) AS (SELECT 1 + (n * 3) FROM eTally WHERE 1 + (n * 3) <= 60) -- SELECT * FROM Pos
    SELECT
      [mt].[Column1]
      ,[ca1].[FormatColumn1]
    FROM
      [dbo].[MyTable] [mt]
      CROSS APPLY (SELECT STUFF((SELECT '|' + SUBSTRING([mt].[Column1],p.n,3)
                                FROM Pos p
                                ORDER BY p.n
                                FOR XML PATH(''),TYPE).value('.','varchar(max)'),1,1,''))ca1(FormatColumn1);
    GO
    DROP TABLE [dbo].[MyTable];
    GO