首页 > 解决方案 > 需要帮助使用 CHARINDEX 创建新变量

问题描述

我试图在变量描述中取第二个数字并创建一个新变量。但是,我对字符串操作不太熟悉。下面是变量描述的一个小例子,我很难格式化它,因为第一个数字的大小发生了变化。

Description 
4 Matching notifications 11 Updates
32 Matching notifications 12 Updates
1211 Matching notifications 1 Updates

下面是我认为最初可以工作的代码的粗略概念。

 SELECT 
     LEFT(Description, CHARNDEX('Updates', Description)-1) AS Second_variable
 FROM X

标签: sqlstringcharindex

解决方案


这在 SQL Server 中有点棘手。一种方法是:

select s.value as second_variable
from t cross apply
     (select top (1) s.value
      from string_split(description, ' ') s
      where description like concat('% ', s.value, ' Updates')
     ) s;

这会从字符串中提取单个“单词”,然后选择与 last 之前的值匹配的单词' Updates'


推荐阅读