首页 > 解决方案 > T-SQL 查询获取两个特殊字符之间的字符串

问题描述

我想在两个特殊字符之间提取一个单词。我尝试使用 trim 和 substring 函数,但结果不是预期的。

输入:

viewpointops\Leslie.cullum.7M5 

需要的输出:

Leslie.cullum

我尝试select SUBSTRING(c2,0,CHARINDEX('\',c2))从表中使用此查询将视点\保存在变量中,其余输入也类似。这是一个很长的查询,也不是一个有效的查询。

提前致谢。

标签: sql-servertsql

解决方案


也许:

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);

推荐阅读