Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何提取字符串中第一个空格之前的部分文本?_Sql_Sql Server_Sql Server 2008_Tsql - Fatal编程技术网

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

Sql 如何提取字符串中第一个空格之前的部分文本?,sql,sql-server,sql-server-2008,tsql,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 = @Per

如何只提取字符串中第一个空格之前的部分文本,例如给定John Mathew,我想得到的应该是John

我尝试了
SUBSTRING
,它适用于上面这样的名字,但不适用于这些MorrisStephen但适用于John MclaneHassan Shehryar。为什么?

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

主栏为
PersonInfoName

最简单的方法是:

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

可能不需要编写自己的函数来完成此操作。

最简单的方法是:

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

可能不需要编写自己的函数来完成此操作。

很高兴您尝试了
子字符串
。如果你不告诉我们你尝试了什么,结果如何令人失望,那么帮助你就相当困难。您提供的代码没有提供任何线索。很高兴您尝试了
子字符串
。如果你不告诉我们你尝试了什么,结果如何令人失望,那么帮助你就相当困难。你提供的代码没有提供任何线索。