Here is a slightly different approach:
Select dd.[data]
, name = ltrim(rtrim(substring(data, 1, coalesce(nullif(a.comma, 0), len(data) + 1) - 1)))
, Country = iif(a.comma <> 0, ltrim(rtrim(substring(data, a.comma + 1, coalesce(nullif(b.comma, 0), len(data) + 1) - a.comma - 1))), '')
, Pax = iif(b.comma <> 0, ltrim(rtrim(substring(data, b.comma + 1, coalesce(nullif(c.comma, 0), len(data) + 1) - b.comma - 1))), '')
, Col4 = iif(c.comma <> 0, ltrim(rtrim(substring(data, c.comma + 1, coalesce(nullif(d.comma, 0), len(data) + 1) - c.comma - 1))), '')
From #data As dd
Cross Apply (Values (charindex(',', data, 1))) As a(comma)
Cross Apply (Values (charindex(',', data, nullif(a.comma, 0) + 1))) As b(comma)
Cross Apply (Values (charindex(',', data, nullif(b.comma, 0) + 1))) As c(comma)
Cross Apply (Values (charindex(',', data, nullif(c.comma, 0) + 1))) As d(comma);
I included Col4 just for display purposes - and added to additional rows to the test table:
Insert Into #data
Values ('GOLDEN BLOSSOM,UAE,13')
, ('GOLDEN BLOSSOM, UAE , 13,har,pra')
, ('NO COUNTRY OR PAX')
, ('COUNTRY NO PAX,US');