sql - 获取 SQL Server 中反斜杠后的文本
问题描述
谁能帮我写一个 SQL 查询。我只需要第一个反斜杠后的第一个数字“”请查看所需的输出。谢谢
列名 | 愿望输出 |
---|---|
\2610 | 2610 |
\2610\1178_2018 烘焙客栈 | 2610 |
\2610\1178_2018 更改 Outlook\2018-03-12 AOR & Page 33 DL | 2610 |
\995645\1178_2018 小溪巧克力 | 995645 |
\995645\1178_2018 记录请求\俱乐部和第 12 卷 | 995645 |
\995645 | 995645 |
\4323234\54724_2020 添加图片\2021-2019 详细信息打开\Checkbox-06- 值 | 4323234 |
\4323234 | 4323234 |
解决方案
请尝试以下解决方案。
它基于 XQuery。它的数据模型基于有序序列。正是我们需要的任务。我们可以立即获得第一个令牌,第二个令牌,最后一个令牌,序列中的任何令牌。
SQL
-- DDL and sample data population, start
DECLARE @tbl TABLE (ID INT IDENTITY PRIMARY KEY, tokens VARCHAR(MAX));
INSERT INTO @tbl (tokens) VALUES
('\2610'),
('\2610\1178_2018 Bake Inn'),
('\2610\1178_2018 Change Outlook\2018-03-12 AOR & Page 33 DL'),
('\995645\1178_2018 Creek Choc'),
('\995645\1178_2018 Record Request\Club & Volume 12'),
('\995645'),
('\4323234\54724_2020 Add Image\2021-2019 Details Open\Checkbox-06- Value'),
('\4323234');
-- DDL and sample data population, end
SELECT ID, tokens
, c.value('(/root/r[2]/text())[1]', 'VARCHAR(20)') AS [LeadingToken]
FROM @tbl
CROSS APPLY (SELECT TRY_CAST('<root><r><![CDATA[' +
REPLACE(tokens, '\', ']]></r><r><![CDATA[') +
']]></r></root>' AS XML)) AS t(c);
输出
+----+-------------------------------------------------------------------------+---------------+
| ID | tokens | LeadingToken |
+----+-------------------------------------------------------------------------+---------------+
| 1 | \2610 | 2610 |
| 2 | \2610\1178_2018 Bake Inn | 2610 |
| 3 | \2610\1178_2018 Change Outlook\2018-03-12 AOR & Page 33 DL | 2610 |
| 4 | \995645\1178_2018 Creek Choc | 995645 |
| 5 | \995645\1178_2018 Record Request\Club & Volume 12 | 995645 |
| 6 | \995645 | 995645 |
| 7 | \4323234\54724_2020 Add Image\2021-2019 Details Open\Checkbox-06- Value | 4323234 |
| 8 | \4323234 | 4323234 |
+----+-------------------------------------------------------------------------+---------------+
推荐阅读
- python - Python Selenium Web 自动化如何单击登录按钮
- c++ - LAPACKE C++ 复矩阵求逆
- android - 充当 ViewModel 的活动范围的常规类
- html - 为什么我的背景图片不显示?
- postgresql - 如何在 PostgreSQL/PostGIS 中获得 3 个点的三角形面积?
- javascript - 我如何将 onsubmit 属性添加到
- .net - .net 正则表达式 - 最后一个列表项上不包含句号的字符串
- javascript - 在使用护照授权后,我如何获取/请求推文以做出反应
- amazon-web-services - AWS IAM - EC2 - 限制对特定子网的访问
- python - 使用 React 在 Flask 中进行长时间请求