0

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

请帮忙....

4

1 回答 1

1

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

SET NOCOUNT ON 
DECLARE @str_DIR_FILE VARCHAR(500) -- 起始目录路径和文件名
DECLARE @str_DIR VARCHAR(400) -- 目录路径
DECLARE @str_FILE VARCHAR(100) -- 文件名

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

-- 获取文件夹名称
SELECT @str_DIR = REVERSE(RIGHT(REVERSE(@str_DIR_FILE),(LEN(@str_DIR_FILE)-CHARINDEX('\', REVERSE(@str_DIR_FILE),1))+1))

-- 获取文件名
SELECT @str_FILE = REVERSE(LEFT(REVERSE(@str_DIR_FILE),CHARINDEX('\', REVERSE(@str_DIR_FILE),1)-1))

SELECT @str_DIR -- 文件夹名称
SELECT @str_FILE -- 文件名

于 2013-07-19T16:59:51.730 回答