T-SQL substring - separating first and last name

前端 未结 11 1748
南方客
南方客 2020-11-30 05:50

I have a column which has FirstName and LastName together. I\'m writing a report to separate the FirstName And LastName. How do I get the FirstName and LastName separated in

11条回答
  •  渐次进展
    2020-11-30 06:12

    This will take care of names like "Firstname Z. Lastname" and "First Z Last"

    SELECT
    CASE 
        WHEN CHARINDEX(' ',name) = 0 THEN name
        WHEN CHARINDEX(' ',name) = PATINDEX('% _[., ]%',name) THEN RTRIM(SUBSTRING(name, 1, CHARINDEX(' ',name) + 2)) 
        ELSE SUBSTRING(name,1, CHARINDEX(' ',name))
    END [firstname]
    ,CASE 
        WHEN CHARINDEX(' ',name) = 0 THEN ''
        WHEN CHARINDEX(' ',name) = PATINDEX('% _[., ]%',name) THEN LTRIM(SUBSTRING(name, CHARINDEX(' ',name) + 3,1000)) 
        ELSE SUBSTRING(name,CHARINDEX(' ',name)+1,1000)
    END [lastname]
    FROM [myTable]
    

提交回复
热议问题