如何使用存储过程(T-SQL)查找平面文件的文件路径?

时间:2013-07-19 05:42:02

标签: tsql stored-procedures dynamic filepath

我有查询...问题是我想使用T-SQL存储过程创建日志文件。我需要将源文件路径放入日志文件中,但我需要动态。我不想在那里硬编码。

请帮忙......

1 个答案:

答案 0 :(得分:1)

您的意思是您需要从完整路径/文件名解析出路径和文件吗?

SET NOCOUNT ON
DECLARE @str_DIR_FILE VARCHAR(500) -- starting directory path and file name
DECLARE @str_DIR VARCHAR(400) -- directory path
DECLARE @str_FILE VARCHAR(100) -- file name

SET @str_DIR_FILE = 'c:\this\is\a\directory\path\to\a\file.txt'

-- get folder name
SELECT @str_DIR = REVERSE(RIGHT(REVERSE(@str_DIR_FILE),(LEN(@str_DIR_FILE)-CHARINDEX('\', REVERSE(@str_DIR_FILE),1))+1))

-- get file name
SELECT @str_FILE = REVERSE(LEFT(REVERSE(@str_DIR_FILE),CHARINDEX('\', REVERSE(@str_DIR_FILE),1)-1))

SELECT @str_DIR -- folder name
SELECT @str_FILE -- file name