可能重复:
获取在SQL Server子
比方说,我有MyImage.png
或MyDoc.doc
等在一个数据库表中的列。
我怎么只能拿到文件扩展名?
可能重复:
获取在SQL Server子
比方说,我有MyImage.png
或MyDoc.doc
等在一个数据库表中的列。
我怎么只能拿到文件扩展名?
试试这个:
declare @str varchar(20)='MyDoc.doc';
select reverse(left(reverse(@str),charindex('.',reverse(@str))-1))
试试这个 :
select parsename(filename,1) from yourTable
sqlfiddle演示
随着字符串函数:
SELECT Extension =
Right([Name],
CHARINDEX('.',
REVERSE([Name]))-1)
FROM dbo.Files
SQL小提琴演示
declare @str varchar(20)='MyDoc.doc'
select reverse(left(reverse(@str),CHARINDEX('.',reverse(@str))-1))
FIDDLE DEMO
SELECT RIGHT('myFile.txt',
CHARINDEX('.', REVERSE('myFile.txt'))-1) AS 'File Extension'
文档: SUBSTRING , RIGHT , CHARINDEX , REVERSE