如何提取字符串中第一个空格之前的部分文本?

时间:2016-01-09 20:24:17

标签: sql sql-server sql-server-2008 tsql

如何仅提取字符串中第一个空格之前的部分文本,例如鉴于 John Mathew ,我希望得到 John

我尝试了SUBSTRING,这对于上面的名字有用但不像这些 Morris Stephen 但是为 John Mclane工作 Hassan Shehryar 。为什么?

Select 
    PersonalInfo.PersonalInfoName 
From 
    PersonalInfo
Where 
    PersonalInfo.pk_PersonalInfo_ID = @PersonalInfoID

主要栏目是PersonInfoName

1 个答案:

答案 0 :(得分:2)

最简单的方法是:

select (case when PersonalInfoName like '% %'
             then left(PersonalInfoName, charindex(' ', PersonalInfoName) - 1))
             else PersonalInfoName
        end)

可能没有必要编写自己的函数来执行此操作。