There's more than 1 way to do this.
Here's a demonstration of some:
create table Test (
id int identity(1,1) primary key,
col nvarchar(100)
);
GO
✓
insert into Test (col) values
('abc/def/ghi/jkl/mno'),
('s/t/u/f/f'),
('w/h/y'),
(null);
GO
4 rows affected
SELECT id,
s1 AS [CompanyName],
s2 AS [Location],
s3 AS [Cost Center],
s4 AS [Department],
s5 AS [Job]
FROM Test t
OUTER APPLY
(
SELECT s1, s2, s3, s4, s5
FROM (VALUES (col+'/')) q(s0)
CROSS APPLY (select case when charindex('/',s0)>0 then left(s0, charindex('/',s0)-1) end s1, case when charindex('/',s0)>0 then charindex('/',s0) end p1) a1
CROSS APPLY (select case when p1>0 and charindex('/',s0,p1+1)>0 then substring(s0, p1+1, charindex('/',s0,p1+1)-p1-1) end s2, case when p1>0 then charindex('/',s0,p1+1) end p2) a2
CROSS APPLY (select case when p2>0 and charindex('/',s0,p2+1)>0 then substring(s0, p2+1, charindex('/',s0,p2+1)-p2-1) end s3, case when p2>0 then charindex('/',s0,p2+1) end p3) a3
CROSS APPLY (select case when p3>0 and charindex('/',s0,p3+1)>0 then substring(s0, p3+1, charindex('/',s0,p3+1)-p3-1) end s4, case when p3>0 then charindex('/',s0,p3+1) end p4) a4
CROSS APPLY (select case when p4>0 and charindex('/',s0,p4+1)>0 then substring(s0, p4+1, charindex('/',s0,p4+1)-p4-1) end s5) a5
) a;
GO
id | CompanyName | Location | Cost Center | Department | Job
-: | :---------- | :------- | :---------- | :--------- | :---
1 | abc | def | ghi | jkl | mno
2 | s | t | u | f | f
3 | w | h | y | null | null
4 | null | null | null | null | null
select id,
[1] AS [CompanyName],
[2] AS [Location],
[3] AS [Cost Center],
[4] AS [Department],
[5] AS [Job]
from Test t
outer apply (
select *
from
(
select value
, row_number() over (order by (select 0)) n
from string_split(t.col,'/') s
) src
pivot (
max(value)
for n in ([1],[2],[3],[4],[5])
) pvt
) a;
GO
id | CompanyName | Location | Cost Center | Department | Job
-: | :---------- | :------- | :---------- | :--------- | :---
1 | abc | def | ghi | jkl | mno
2 | s | t | u | f | f
3 | w | h | y | null | null
4 | null | null | null | null | null
select id,
s1 AS [CompanyName],
s2 AS [Location],
s3 AS [Cost Center],
s4 AS [Department],
s5 AS [Job]
from Test t
outer apply (
select
s1 = x0.value('/x[1]','nvarchar(max)')
, s2 = x0.value('/x[2]','nvarchar(max)')
, s3 = x0.value('/x[3]','nvarchar(max)')
, s4 = x0.value('/x[4]','nvarchar(max)')
, s5 = x0.value('/x[5]','nvarchar(max)')
from
(
select
cast(('<x>'+ replace(col,'/','</x><x>') +'</x>') as xml) x0
) q
) a;
GO
id | CompanyName | Location | Cost Center | Department | Job
-: | :---------- | :------- | :---------- | :--------- | :---
1 | abc | def | ghi | jkl | mno
2 | s | t | u | f | f
3 | w | h | y | null | null
4 | null | null | null | null | null
db<>fiddle here