我的情况是我有下表-
FullName ManufacturingCost
------------------------------------------
Harry Singh Malhotra $200.00
Harry $200.00
Danny $200.00
Britany Krout $100.00
现在我想要上表中的两列-fullName
和FirstName
。我正在使用此查询:
Select
fullName, left(fullName, charindex(' ', fullName, 1) - 1) as firstName
from
Table1
上面查询中的问题是第二行和第三行Firstname
被返回,Null
因为在这些行中charindex
找不到' '
。
我想要的结果是:
FullName FirstName
-------------------------------------
Harry Singh Malhotra Harry
Harry Harry
Danny Danny
Britany Krout Britany
有人可以帮助我让我知道如何在语句中添加条件
select * from Table11
因为我想检查特定列中每个值的条件。
Select case不起作用,因为它仅采用标量值。
用Case Statement
处理FullName
,没有Middlename
或LastName
SELECT fullName,
First_Name=LEFT(( fullName ), CASE
WHEN Charindex(' ', fullName) = 0 THEN Len(fullName)
ELSE Charindex(' ', fullName)
END)
FROM Table1
ParseName
技巧也可以,但是您的字符串最多应包含4个单词。
SELECT fullName,
First_Name=Reverse(Parsename(Replace(Reverse(fullName), ' ', '.'), 1))
FROM table1
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句