SQL:如何获取位于给定字符串中两个特定字符之间的字符串

时间:2018-04-11 18:47:24

标签: tsql sql-server-2012 substring

我正在向存储过程发送文件位置。

可能有两种情况:

1. \\filedirectory\Department\Project\2000-01-12\
2. \\filedirectory\Departments\Project\20000112\

我正在尝试找到一种方法来获取2个最后一个斜杠之间的字符串并将其转换为MMDDYY格式。

我该怎么做?

2 个答案:

答案 0 :(得分:0)

我可能已经被带走了,但这很有效。

DECLARE @path VARCHAR(MAX) = '\\filedirectory\Department\Project\2000-01-12\'

SELECT REPLACE(CONVERT(CHAR(10),CAST(REPLACE(REVERSE(SUBSTRING(REVERSE(@path), 1, CHARINDEX('\', REVERSE(@path), 2))), '\', '') AS DATE), 1), '/', '')

答案 1 :(得分:0)

另一种方式......

DECLARE @path VARCHAR(MAX) = '\\filedirectory\Department\Project\2000-01-12\'

select 
    replace(convert(varchar,cast(replace(right(@path,charindex('\',reverse(@path),2)-1),'\','') as date),1),'/','')