如何在TSQL中的两个特殊字符之间提取字符串

ann*_*ang 6 t-sql substring

如何编写TSQL脚本以从"Email_Monday_Miami_June"中获取"Monday_Miami"

基本上,我想提取第1和第3"_"之间的所有内容

太感谢了

Tom*_*lak 20

DECLARE @c varchar(100)
SET     @c = 'Email_Monday_Miami_June' 

SELECT SUBSTRING(
    @c, 
    CHARINDEX('_', @c) + 1, 
    LEN(@c) - CHARINDEX('_', @c) - CHARINDEX('_', REVERSE(@c))
)
Run Code Online (Sandbox Code Playgroud)

回报

Monday_Miami
Run Code Online (Sandbox Code Playgroud)


Mik*_*son 5

declare @s varchar(max) = 'Email_Monday_Miami_June'

select parsename(replace(@s, '_', '.'), 3)+'_'+parsename(replace(@s, '_', '.'), 2)
Run Code Online (Sandbox Code Playgroud)

  • @Tomalak - 谢谢.已经为您的版本+1了.如果超过4个单词,则两个版本都将失败. (2认同)