如何在SQL中的2个相同字符之间选择字符串

Dan*_*aos 1 sql-server substring charindex

我的初始字符串是

Content-Disposition: attachment; filename="0001.zam"
Run Code Online (Sandbox Code Playgroud)

我想选择两个“”字符之间的所有字符(在这种情况下为“ 0001.zam”。我知道我需要使用类似于以下内容的SUBSTRING和CHARINDEX函数:

SELECT SUBSTRING(@Attachment, CHARINDEX('"', @Attachment),...)
Run Code Online (Sandbox Code Playgroud)

我不知道要作为第二个SUBSTRING参数传递什么。请注意,两个“字符”之间的字符串和第二个“字符”之后的字符串是可变的。整个字符串看起来像。像这样:

Content-Disposition: attachment; filename="0001556.txt"; size=187;
Run Code Online (Sandbox Code Playgroud)

最重要的是获得两个“”字符之间的所有内容。

Tan*_*dar 5

获取您要使用left()right()运行的数据的另一种方法。

select left(right(t, len(t)- CHARINDEX('"', t)), charindex('"',right(t, len(t)- CHARINDEX('"', t)))-1)
from
(
select 'Content-Disposition: attachment; filename="0001.zam"' t
) u
Run Code Online (Sandbox Code Playgroud)

这个输出

0001.zam

我希望而不是假设此标头中只有两个“”。