2 przydatne funkcje wycinające z pełnej ścieżki do pliku samą ścieżkę oraz nazwę pliku.
Przykładowa ścieżka "C:\Program Files\Cisco\Cisco AnyConnect Secure Mobility Client\vpnui.exe"
1 z funkcji wycina ścieżkę:
CREATE FUNCTION [dbo].[LTrimChar]
(
@input nvarchar(MAX)
)
RETURNS nvarchar(MAX)
AS
BEGIN
set @input = replace((SUBSTRING((@input),0,(len(@input)+1) - CHARINDEX('\',reverse(@input)))),'"','');
RETURN @input;
END
Druga samą nazwę pliku:
CREATE FUNCTION [dbo].[RTrimChar]
(
@input nvarchar(MAX)
)
RETURNS nvarchar(MAX)
AS
BEGIN
set @input = ltrim(rtrim(replace(REVERSE(SUBSTRING(reverse(@input),0,charindex('\',reverse(@input)))),'"','')));
RETURN @input;
END
Wynik działania w zapytaniu
select Sciezka, RTrimChar(Sciezka) as 'Plik', LTrimChar(Sciezka) as 'Path' from FilePath
Zwracam nam jako path C:\Program Files\Cisco\Cisco AnyConnect Secure Mobility Client
i jako plik vpnui.exe kasując również znaki cudzysłowia