sql - 需要帮助使用 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
解决方案
这在 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'
。
推荐阅读
- python - Python 正则表达式:为什么我的模式不匹配?
- ruby-on-rails - Markdown 渲染换行符
- actionscript-3 - Adobe Animate 2019 错误?Air Mobile 开发层DepthEnabled 错误#1056:
- reactjs - 在反应原生 API 请求中上传 base64 图像
- monaco-editor - 摩纳哥:从自动完成/智能感知中删除 Web API?
- javascript - 向上滚动时检测元素是否可见
- c++ - C++派生类构造函数
- javascript - node.js 和前端 Web 应用程序的单独 babel 配置是同一个项目
- html - 使用 flexbox 垂直对齐单个元素是否可以接受?
- assembly - x86 汇编 16 位相对调用