Получить части пути к файлу (расширение, путь, название файла)

Функция: 

CREATE FUNCTION [dbo].[str_getPathDetails] 
(
	@s varchar(128)
)
RETURNS 
@res TABLE (clearFilename nvarchar(max), extension nvarchar(max), filename nvarchar(max), path nvarchar(max))
AS
BEGIN
       -- using: select * from [dbo].[str_getPathDetails] ('/uploads/folder1/file.name1.txt')

	declare @extension nvarchar(max) = (case when @s like '%.%'
              then reverse(left(reverse(@s), charindex('.', reverse(@s)) - 1))
              else ''
         end)
	declare @filename nvarchar(max) = RIGHT(@s,CHARINDEX('/',REVERSE(@s))-1)

	declare @clearFilename nvarchar(max) = left(@filename , len( @filename ) - iif(len(@extension)>0, len(@extension)+1, 0))

	declare @path nvarchar(max) = left(@s, len(@s) - len(@filename) )		 

	insert into @res
	select  @clearFilename clearFilename,  @extension  extension, @filename  filename, @path path 
	RETURN 
END

Использование функции: 

select * from [dbo].[str_getPathDetails] ('/uploads/folder1/file.name1.txt')

Результат: 

 

Насколько полезной была статья?

Что еще посмотреть по SQL Server

Ищем партнеров-разработчиков на T-SQL

Прямая работа с заказчиками как ИП или самозанятый. Нужно знать только SQL и HTML
Работа на MS SQL Server

Выгода от использования Falcon Space

В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Нужна бесплатная консультация?
Веб-проект по шагам
Если видео Youtube плохо грузится, то попробуйте найти видео в ВК видео на канале Falcon Space
Сайт использует Cookie. Правила конфиденциальности OK