首页 > 解决方案 > 截断 SQL 单元格中特定数量的字符

问题描述

Description在表格中有列

   Description 
  ---------------
    AA Check 
    B1 Check
    RD/AA Check 
    WD_FA Examine 
    FF Examine 
    AA Pass 
    B2 Check 
    Examine  

所需的输出

    Description 
  ---------------
    Check 
    Examine  
    Pass 

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

标签: sqlsql-server

解决方案


在您拥有的空格之后,并使用DISTINCT,这将获取空格后面的最后一个单词,或者如果它是唯一的单词,则返回该单词。

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

推荐阅读