使用Substring和Charindex检索字符串提取

时间:2014-07-16 11:14:52

标签: sql tsql

我之前问过这个问题。我有多个不同的文件名,我有一个名为'文件名'我想提取&H;和A ADQ'和' Vita' string并将其放在另一个名为[Query Name]的字段中。如下所示。

File Name ||
N:\Health\Local\Information\Tec\IS\Exports\MM\ADQ star pu\H and A ADQ April.csv
N:\Health\Local\Information\Tec\IS\Exports\MM\ADQ star pu\Vita April.csv

我只需要' H和A ADQ'和' Vita'。

我试过这个剧本:

Update [MM].[dbo].[Star]
SET [Query Name]=REPLACE(REVERSE(SUBSTRING(SUBSTRING(REVERSE([File Name]),12,CHARINDEX('\',REVERSE([File Name]))-1)  ,1,CHARINDEX(' ',SUBSTRING(REVERSE([File Name]),1,CHARINDEX('\',REVERSE([File Name]))-1)))),'.csv','')

通过调整脚本,我设法得到了H和A AD'而不是' H和A ADQ'。

感谢任何帮助。

由于

1 个答案:

答案 0 :(得分:0)

Update [MM].[dbo].[Star]
SET [Query Name]= 
    SUBSTRING([File Name], LEN([File Name]) - CHARINDEX('\', REVERSE([File Name])) + 2, CHARINDEX('\', REVERSE([File Name])) - CHARINDEX(' ', REVERSE([File Name])) - 1)

SqlFiddle