表中有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。
发布于 2018-06-14 20:44:41
这将移除直到第一个空格的数据。
case when x like '% %'
then substring(x, charindex(' ', x) +1, 8000)
else x
end
'AA Examine Device' -> 'Examine Device'这就引出了最后一个词:
case when x like '% %'
then right(x, charindex(' ', reverse(x)) -1)
else x
end
'AA Examine Device' -> 'Device'发布于 2018-06-14 20:35:59
按照所拥有的空白,并使用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发布于 2018-06-14 20:37:01
你可以这样做:
select distinct substring(Description, charindex(' ', Description) + 1, len(Description))https://stackoverflow.com/questions/50865424
复制相似问题