使用SQL获取文件的扩展名?

时间:2012-11-22 08:16:30

标签: sql sql-server sql-server-2005

  

可能重复:
  Get substring in SQL Server

假设我在数据库表的列中有MyImage.pngMyDoc.doc等。

我怎样才能获得文件扩展名?

5 个答案:

答案 0 :(得分:34)

试试这个:

declare @str varchar(20)='MyDoc.doc';
select reverse(left(reverse(@str),charindex('.',reverse(@str))-1))

SQL fiddle demo

答案 1 :(得分:8)

试试这个:

select parsename(filename,1) from yourTable

sqlfiddle demo

答案 2 :(得分:5)

使用字符串函数:

SELECT Extension =
   Right([Name],
        CHARINDEX('.',
                  REVERSE([Name]))-1)
FROM dbo.Files

SQL fiddle demo

答案 3 :(得分:3)

declare @str varchar(20)='MyDoc.doc'
select reverse(left(reverse(@str),CHARINDEX('.',reverse(@str))-1))

FIDDLE DEMO

答案 4 :(得分:3)

  SELECT RIGHT('myFile.txt', 
               CHARINDEX('.', REVERSE('myFile.txt'))-1) AS 'File Extension'

文档:SUBSTRINGRIGHTCHARINDEXREVERSE