34,590
社区成员
发帖
与我相关
我的任务
分享
declare @a nvarchar(100)
set @a='E:\MSSQL\BACKUPS\DMS\MAB-MACHINE-001\MEV_DB_Log_ISP\FULL\A.BAK'
select reverse(left(reverse(@a),charindex('\', stuff(stuff(reverse(@a),charindex('\', reverse(@a)),1,' '),charindex('\',stuff(reverse(@a),charindex('\', reverse(@a)),1,' ')),1,' '))))
declare @s nvarchar(100)
declare @i int,@ii int
select @i = 1, @ii = 1
select @s = 'E:\MSSQL\BACKUPS\DMS\MAB-MACHINE-001\MEV_DB_Log_ISP\FULL\A.BAK'
select @s = reverse(@s)
while charindex('\',@s,@ii) > 0
begin
set @ii = charindex('\',@s,@ii) + 1
set @i = @i+1
if @i = 4
begin
select @s = reverse(substring(@s,1,@ii-1))
break
end
end
print @s
-----------------
\MEV_DB_Log_ISP\FULL\A.BAK
DECLARE @STR VARCHAR(500)
DECLARE @RESULT VARCHAR(500)
SET @STR='E:\MSSQL\BACKUPS\DMS\MAB-MACHINE-001\MEV_DB_Log_ISP\FULL\A.BAK'
SET @STR='SELECT COL ='''+REPLACE(@STR,'\',''' UNION ALL SELECT ''')+''''
PRINT @STR
--CREATE TABLE #T (ID INT IDENTITY(1,1),COL VARCHAR(50))
INSERT #T EXEC(@STR)
SELECT * FROM #T
DECLARE @RESULT VARCHAR(500)
SELECT @RESULT=ISNULL(@RESULT+'\','')+COL FROM #T
WHERE ID IN (SELECT TOP 3 ID FROM #T ORDER BY ID DESC)
SELECT '\'+@RESULT
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
\MEV_DB_Log_ISP\FULL\A.BAK
(所影响的行数为 1 行)
declare @s varchar(500)
set @s='E:\MSSQL\BACKUPS\DMS\MAB-MACHINE-001\MEV_DB_Log_ISP\FULL\A.BAK'
select right(@s,charindex('\',reverse(@s),charindex('\',reverse(@s),charindex('\',reverse(@s))+1)+1))
/*
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
\MEV_DB_Log_ISP\FULL\A.BAK
(1 行受影响)
*/
declare @a varchar(200)
set @a='E:\MSSQL\BACKUPS\DMS\MAB-MACHINE-001\MEV_DB_Log_ISP\FULL\A.BAK'
select substring(@a,37,len(@a)-37)