Sql-Server

查詢獲取數據庫的物理文件名

  • July 26, 2019

我試圖獲取數據庫的物理文件名,當我查詢時sys.database_files,在物理文件名列下,你會得到整個路徑(ie. S:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\tempdb.mdf)。我怎樣才能動態地提取tempdb.mdf該字元串的一部分?我正在考慮使用SUBSTRING()+ CHARINDEX(),但由於我是新手,所以無法弄清楚。CHARINDEX()僅從左到右搜尋子字元串。是否有從右到左搜尋特定字元串的函式?這樣我就可以從我的範例中的最後一個反斜杠基數進行搜尋。任何輸入將不勝感激。謝謝!

你可以試試這個。

@Stringss 是一個變數來模擬你已經獲得的欄位

DECLARE @String NVARCHAR(MAX)='S:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\tempdb.mdf'

SELECT REVERSE(SUBSTRING(REVERSE(@String),0,CHARINDEX('\',REVERSE(@String),0)))

引用自:https://dba.stackexchange.com/questions/243916