在特定数据发生后提取字符串

时间:2014-10-07 07:39:04

标签: sql string

我有以下字符串,其长度因数据库和表名而异:

[服务器]。[数据库名称]。[DBO]。[tablename.csv]

我想在“[dbo]”之后只提取表名。在“.csv”之前。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

declare @str varchar(200) = '[servername].[tablename].[dbo].[tablename.csv]'

select substring(@str,(PATINDEX('%dbo%',@str)+6), 
(PATINDEX('%.csv%', @str) - (PATINDEX('%dbo%',@str)+6)))