Extract Salutation from a String in SQL Server

  1. CREATE PROCEDURE USP_Extract_Salutation    
  2. AS    
  3. BEGIN    
  4.    CREATE TABLE #table(Name varchar(100),salutation varchar(10))    
  5.    DECLARE @Name1 VARCHAR(50)    
  6.    DECLARE mycursor CURSOR    
  7.    FOR    
  8.    SELECT NAME FROM tbl_student_marks_Details    
  9.    OPEN mycursor    
  10.    FETCH NEXT FROM mycursor INTO @Name1    
  11.    WHILE @@FETCH_STATUS = 0    
  12.    BEGIN    
  13.       DECLARE @Name2 VARCHAR(50)    
  14.       SET @Name2=@Name1    
  15.      
  16.       if LEFT(@Name2,4)='Mrs.'    
  17.          Set @Name2=Replace(@Name2,'Mrs.','');    
  18.       else if LEFT(@Name2,3)='Mrs'    
  19.          Set @Name2=Replace(@Name2,'Mrs','');    
  20.       else if LEFT(@Name2,3)='Mr.'    
  21.          SET @Name2 = Replace(@Name2,'Mr.','');    
  22.       else if LEFT(@Name2,2)='Mr'    
  23.          SET @Name2 = Replace(@Name2,'Mr','');    
  24.       DECLARE @Salutation VARCHAR(10)    
  25.       SELECT @Salutation=SUBSTRING(@Name1,1,LEN(@Name1)-LEN(@Name2))    
  26.       insert into #table values(@Name1,@Salutation)    
  27.       FETCH NEXT FROM mycursor INTO @Name1    
  28.    END    
  29.    CLOSE mycursor    
  30.    DEALLOCATE mycursor    
  31.    SELECT Name,salutation FROM #table    
  32. END