首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >截断SQL单元格中的特定字符数

截断SQL单元格中的特定字符数
EN

Stack Overflow用户
提问于 2018-06-14 20:26:42
回答 6查看 56关注 0票数 0

表中有Description

代码语言:javascript
复制
   Description 
  ---------------
    AA Check 
    B1 Check
    RD/AA Check 
    WD_FA Examine 
    FF Examine 
    AA Pass 
    B2 Check 
    Examine  

期望输出

代码语言:javascript
复制
    Description 
  ---------------
    Check 
    Examine  
    Pass 

基本上是一个case语句,它从单元格的左侧截断。请注意,列表中有不同的名称和条件,一些单元格不需要修改(比如最后一行),所以类似于case语句,但是如果我没有指定条件,则不返回NULL。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2018-06-14 20:44:41

这将移除直到第一个空格的数据。

代码语言:javascript
复制
case when x like '% %' 
     then substring(x, charindex(' ', x) +1, 8000)
     else x
end

'AA Examine Device' -> 'Examine Device'

这就引出了最后一个词:

代码语言:javascript
复制
case when x like '% %' 
     then right(x, charindex(' ', reverse(x)) -1)
     else x
end

'AA Examine Device' -> 'Device'
票数 2
EN

Stack Overflow用户

发布于 2018-06-14 20:35:59

按照所拥有的空白,并使用DISTINCT,这将获得空白后面的最后一个单词,或者如果它是唯一的单词,则返回该单词。

代码语言:javascript
复制
declare @Description table (Description varchar(64))
insert into @Description
values
('AA Check'),
('B1 Check'),
('RD/AA Check'),
('WD_FA Examine'),
('FF Examine'),
('AA Pass'),
('B2 Check'),
('Examine')

select distinct
    right([Description],len([Description]) - charindex(' ',[Description]))
from @Description
票数 2
EN

Stack Overflow用户

发布于 2018-06-14 20:37:01

你可以这样做:

代码语言:javascript
复制
select distinct substring(Description, charindex(' ', Description) + 1, len(Description))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50865424

复制
相关文章

相似问题

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