We can use Case and CHARINDEX to split column with delimiter into two columns in SQL Server select case when CHARINDEX ( '_' , name )> 0 then SUBSTRING ( name , 1 , CHARINDEX ( '_' , name ) -1 ) else name end firstname, CASE WHEN CHARINDEX ( '_' , name )> 0 THEN SUBSTRING ( name , CHARINDEX ( '_' , name )+ 1 , len ( name )) ELSE NULL END as lastname from emp you can use CASE command to control is last name available. MS SQL Server : Query 1 : declare @t table ( id int , name varchar ( 50 )) insert into @t ( id , name ) values ( 1 , 'abc_rao' ) insert into @t ( id , name ) values ( 2 , 'nani' ) insert into @t ( id , name ) values ( 3 , 'hari_babu' ) insert into @t ( id , name ) values ( 4 , 'kalibabu' ) insert into @t ( id , name ) values ( 5 , 'ab_tan' ) select case when CHARINDEX ( '_' ...