查询从文件路径中获取特定部分

时间:2013-12-24 07:15:44

标签: sql sql-server sql-server-2008 tsql mysqli

我在表格中有文件名字段,其中包含如下值,

其员工代码前面的图像文件

  

H:\ KYC_PDF_Cloud_N \员工\ PANCard-CroppedSignatures \ e45432_Sign.jpg   
  H:\ KYC_PDF_Cloud_N \员工\ PANCard-CroppedSignatures \ e45434_1418_Sign.jpg
  H:\ KYC_PDF_Cloud_N \员工\ PANCard-CroppedSignatures \ E45434_age_Sign.jpg
H:\ KYC_PDF_Cloud_N \员工\ PANCard-CroppedSignatures \ E45538_Rana_Sign.jpg

现在我想以这样的方式编写sql查询,以便我只从路径中获取员工编号 即例如输出将采用以下格式

empno
e45432
e45434
E45538

请帮我写这个查询
我试过以下查询

 select SUBSTRING([FileName],55,6) as empno  from #tmp_filepath

它给了我想要的输出,但它就像我在硬编码位置

1 个答案:

答案 0 :(得分:3)

试试这个:

SELECT 
LEFT(
     RIGHT(Str,CHARINDEX('\',REVERSE(Str))-1),
     CHARINDEX('_',RIGHT(Str,CHARINDEX('\',REVERSE(Str))-1))-1
  )
FROM T

SQLFiddle demo