Ответ 1
попробуйте следующее:
declare @str varchar(20)='MyDoc.doc';
select reverse(left(reverse(@str),charindex('.',reverse(@str))-1))
Возможный дубликат:
Получить подстроку в 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
С строковыми функциями:
SELECT Extension =
Right([Name],
CHARINDEX('.',
REVERSE([Name]))-1)
FROM dbo.Files
declare @str varchar(20)='MyDoc.doc'
select reverse(left(reverse(@str),CHARINDEX('.',reverse(@str))-1))
SELECT RIGHT('myFile.txt',
CHARINDEX('.', REVERSE('myFile.txt'))-1) AS 'File Extension'