Home > SQL > Parse Paths in SQL

Parse Paths in SQL

Just a couple of udf to handle paths in sql server, not very solid but if your paths are valid they work well.

CREATE FUNCTION dbo.GetFileName (@Path varchar(512))
RETURNS varchar(255) AS
BEGIN
	Return    RIGHT(@Path, LEN(@Path) - dbo.LAST_INDEX(@Path, '\'))
END

CREATE FUNCTION dbo.GetDirectory (@Path varchar(512))
RETURNS varchar(255) AS
BEGIN
	Return    Left(@Path, dbo.LAST_INDEX(@Path, '\'))
END
CREATE FUNCTION dbo.GetDirectoryName (@Path varchar(512))
RETURNS varchar(255) AS
BEGIN
	Return dbo.GetFilename(Left(@Path, dbo.LAST_INDEX(@Path, '\') -1))
END
CREATE FUNCTION dbo.GetExtension (@Path varchar(512))
RETURNS varchar(255) AS
BEGIN
	Return    RIGHT(@Path, LEN(@Path) - dbo.LAST_INDEX(@Path, '.'))
END
CREATE FUNCTION dbo.LAST_INDEX(@STRING VARCHAR(1024), @CHAR CHAR)
RETURNS INT
AS
BEGIN
        IF ISNULL(@STRING, '') = '' OR  ISNULL(@CHAR, '') = ''
            RETURN 0
	DECLARE @pos int
	select @pos = LEN(@STRING) - CHARINDEX(@CHAR, REVERSE(@STRING)) + 1
	IF @pos > len(@string)
		SELECT @pos = 0
	RETURN @pos
END
Categories: SQL Tags:
  1. No comments yet.
  1. No trackbacks yet.