sql - SQL拆分字符串并结合第一次和第二次出现
问题描述
我有一个字符串如下
Test1: Test Exp: Test3
我正在尝试提取字符串,以便输出应该是
Test1: Test Exp
我尝试如下
DECLARE @myString NVARCHAR(MAX) = 'Test1: Test Exp: Test3'
SELECT SUBSTRING(@myString,0,CHARINDEX(':',@myString,0)) AS firstPart,
SUBSTRING(@myString,CHARINDEX(':',@myString,0)+1,LEN(@myString)) AS secondPart
这给出了输出
Test1 Test Exp: Test3
解决方案
要获得Test1: Test Ex
,您可以执行以下操作:
SELECT SUBSTRING(@myString, 0, LEN(@myString) - CHARINDEX(':', REVERSE(@myString)))
那个部分:
LEN(@myString) - CHARINDEX(':', REVERSE(@myString))
基本上充当LastIndexOf(':')
推荐阅读
- python - pandas df中的逐行共享
- docker - Docker 作为“功能”(根据请求创建一个 Docker)
- c# - 提取列表
来自列表 使用 lambda 表达式 - visual-studio - 如何在 Visual Studio 中实时查看 MsBuild 输出
- javalite - URL 映射在 activeweb 2.0 中不可用
- reactjs - 如何根据使用 antd 的选择禁用两个日期之间的一个日历中的日期?
- scikit-learn - Sklearn Pipeline:将参数传递给自定义变压器?
- reactjs - 点击 React + Redux 动态添加组件
- raspberry-pi3 - IAsync 操作
FromIdAsync(string deviceId) 返回 null - libgdx - LibGdx 坐标问题