首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >组合空白行上的列

问组合空白行上的列
EN

Stack Overflow用户
提问于 2014-02-27 03:10:09
回答 2查看 39关注 0票数 0

我有一个关于在一行中组合基于空格('')的列的可能性的问题。这背后的原因是因为我使用charindex去掉了名字的中间首字母。但是,如果数据不包含中间首字母,我会将其设置为返回一个空白('')。下面是我想要做的一个例子。

代码语言:javascript
复制
First_Name     First_Name2   Column_Needed
John B         John          John
Fred                         Fred
Mary D         Mary          Mary
Mike                         Mike
Scott S        Scott         Scott

我希望有第三列,将两列合并为一个列,没有空白,没有中间的首字母,但所有的名字。

我用来去掉中间首字母的代码的一些例子……

代码语言:javascript
复制
LEFT([First_Name], CHARINDEX(' ', [First_Name])) AS [First_Name2]
EN

回答 2

Stack Overflow用户

发布于 2014-02-27 03:17:49

您需要在SQL中使用CASE语句:

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2014-02-27 03:18:02

您可以使用COALESCE函数来获取没有中间首字母的名字,如下所示:

代码语言:javascript
复制
SELECT COALESCE([First_Name2], [First_Name]) as Column_Needed
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22050918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档