How to split list of values into multiple rows after semi-colon?
Use the SPLIT_STRING function to separate the string on each ';'
Use the REPLACE function to change all '@' to a ';' so this also signals a split.
Prefix the value with '@'
declare @s nvarchar(max) 

set @s = '@bob
@sarah
@kelly;john
@denver_colorado
@james12;kellybelly'

SELECT '@' + value
FROM SPLIT_STRING(REPLACE(@string, '@', ';'), ';')