我有一个字符串,它看起来像这样之间串:获得第二和第四斜线
Y:\Data\apples\oranges\Scott\notes
我需要一个栏,看起来像这样:
apples\oranges
这是我有这么远,它不起作用:
SELECT SUBSTRING(
[Group],
CHARINDEX('\', [Group]) + 1,
LEN([Group]) - CHARINDEX('\', [Group]) - CHARINDEX('\', REVERSE([Group]))
) from datamap.finaltest
字符串不会总是有有限的斜杠。例如,你可以有:
Y:\Data\Apples\bananas
Y:\Apples\Pears\oranges\peanuts
数据总会有:
drive letter + '\' + '1st level folder' + '\' + 'Second level folder'
它可能有两个以上的级别虽然。
我已经搜索了论坛,但找不到任何具体的东西。
谢谢
你可以尝试使用'for xml' CSV中的一种将表格拆分器拆分并选择3d和4记录吗?只是谷歌tsql拆分CSV(提示:它可以是任何分隔符,甚至反斜杠)。 – ajeh
是任何一个常量的路径数据?这里的关键是找到一个适合您所有潜在数据的模式 –
@AlanWaage我刚刚更新了问题并回答了这个问题。总是有驱动器盘符和前两个文件夹级别之后,它可以更多但不会更少。 – VinnyGuitara