Sql-Server
查詢獲取數據庫的物理文件名
我試圖獲取數據庫的物理文件名,當我查詢時
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)))