# Name of table = names_table
# Name of column containing names = full_name
# Simply change the table and column name to what corresponds with your dataset
SELECT LEFT(full_name, STRPOS(primary_poc, ' ') -1 ) AS first_name,
RIGHT(full_name, LENGTH(primary_poc) - STRPOS(primary_poc, ' ')) AS last_name, name
FROM names_table;
# NB: This does not capture middle names
DECLARE @String nvarchar(200) = 'I_love_my_country'
SELECT left(@String, charindex('_', @String) - 1) AS first_element
SELECT reverse(left(reverse(@String), charindex('_', (reverse(@String))+'_' ) -1)) AS last_element