我可以从下表中拆分一个字符串,但查询时间过长。我认为可能会有另一个查询,使它与SQL Server更加专业。
例如:D:\Desktop\English Club\Haloween S\S.jpg
。结果必须是之前的文件夹名称image file
,为asHalowwen S
或Screenshots
CREATE TABLE path(
pathlink nvarchar(300)
)
INSERT INTO path VALUES('D:\Desktop\English Club\Haloween S\S.jpg')
INSERT INTO path VALUES('C:\Users\Safari\Pictures\Screenshots\Rate.png')
INSERT INTO path VALUES('T:\Users\users\Documents\Emicsoft Studio\ent.gif')
我的查询:
SELECT RIGHT(LEFT(pathlink, CHARINDEX(REVERSE(LEFT(REVERSE(pathlink), CHARINDEX(('\'), REVERSE(pathlink)))), pathlink)-1),
CHARINDEX(('\'), REVERSE(LEFT(pathlink, CHARINDEX(REVERSE(LEFT(REVERSE(pathlink), CHARINDEX(('\'), REVERSE(pathlink)))), pathlink)-1)))-1)
FROM path
SQLFIDDLE:http ://sqlfiddle.com/#!6/22ecc/2
试试这个。Dono这是否是您问题的更好解决方案!!但我试图减少String functions
当时您的用量。
SELECT Reverse(LEFT(Substring(Reverse(pathlink), Charindex('\', Reverse(pathlink)) + 1,
Len(pathlink)), Charindex('\', Substring(Reverse(pathlink), Charindex('\', Reverse(pathlink)) + 1, Len(pathlink))) - 1))
FROM path
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句