我有一个关于连续基于空格('')组合列的可能性的问题。这背后的原因是因为我使用charindex来剥离名字中间的首字母。但是,如果数据不包含中间的初始值,我将其设置为返回空白('')。 以下是我要做的一个例子。
First_Name First_Name2 Column_Needed
John B John John
Fred Fred
Mary D Mary Mary
Mike Mike
Scott S Scott Scott
我想有第三列将两列合并为一列,没有空格,没有中间的首字母,但是所有的名字。
我用来剥离中间初始代码的一些代码示例......
LEFT([First_Name], CHARINDEX(' ', [First_Name])) AS [First_Name2]
答案 0 :(得分:1)
您需要在SQL中使用CASE语句:
SELECT CASE LEFT([First_Name], CHARINDEX(' ', [First_Name])) WHEN '' THEN [First_Name] ELSE LEFT([First_Name], CHARINDEX(' ', [First_Name])) END as Column_Needed
@Joseph B是一个更好的答案。
答案 1 :(得分:1)
您可以使用COALESCE函数获取没有中间首字母的名字,如下所示:
SELECT COALESCE([First_Name2], [First_Name]) as Column_Needed