sql-server - T-SQL 查询获取两个特殊字符之间的字符串
问题描述
我想在两个特殊字符之间提取一个单词。我尝试使用 trim 和 substring 函数,但结果不是预期的。
输入:
viewpointops\Leslie.cullum.7M5
需要的输出:
Leslie.cullum
我尝试select SUBSTRING(c2,0,CHARINDEX('\',c2))
从表中使用此查询将视点\保存在变量中,其余输入也类似。这是一个很长的查询,也不是一个有效的查询。
提前致谢。
解决方案
也许:
DECLARE @string VARCHAR(100) = ' viewpointops\Leslie.cullum.7M5';
SELECT txt = SUBSTRING(s.s1, 1, CHARINDEX('.', s.s1, d.d1)-1)
FROM (VALUES (SUBSTRING(@string, CHARINDEX('\',@string)+1, 8000))) s(s1)
CROSS APPLY (VALUES (CHARINDEX('.',s.s1)+1)) d(d1);
推荐阅读
- angular - Angular 8:Observable.subscribe 使我的用户类为空
- c++ - 获取 R 数据帧的内存地址
- node.js - 如果我 chown 我的 /usr/lib/node_modules 有什么问题,会有任何安全或包问题吗?
- laravel-5 - RedirectResponse 中的 Laravel 访问 url
- python - 查找包含字符串的文件的最快方法
- javascript - 高图表。如何动态设置刻度并相对于标签中的文本显示标签?
- vhdl - 使用 Quartus Prime 和 Modelsim 对 CPLD 进行 VHDL 时序仿真
- migration - 迁移到 Liferay 7.2 的弃用变量
- aws-lambda - 部署 lambda 时 CDK 排除文件
- python - 如何在mac上为windows创建可执行文件?