我已經獲得了來自我無法控制的外部源的路徑,并且需要將檔案路徑存盤在我的 TSQL 資料庫中。
檔案路徑將如下所示;
C:\\Users\\Temp\filepath\test\document.txt
我需要用所有雙反斜杠來存盤這些
C:\\Users\\Temp\\filepath\\test\\document.txt
用 \\ 替換 \ 而不將字串變成這個的正確方法是什么
C:\\\\Users\\\\Temp\\filepath\\test\\document.txt
用 REPLACE 電話?
uj5u.com熱心網友回復:
您可以將雙倍轉換為單倍,然后將單倍轉換為雙倍。
DECLARE @Path VARCHAR(100) = 'C:\\Users\\Temp\filepath\test\document.txt'
SELECT Replace(Replace(@Path, '\\', '\'), '\', '\\')
uj5u.com熱心網友回復:
這是 Gordon Linoff 前段時間演示的一個簡單技術。(不記得原帖了)
它將處理任意數量的重復字符。在這種情況下\
簡而言之,它擴展、消除并最終歸一化。
例子
Declare @S varchar(150) = 'C:\\Users\\Temp\filepath\test\document.txt'
Select replace(replace(replace(@S,'\','??'),'??',''),'??','\\')
結果
C:\\Users\\Temp\\filepath\\test\\document.txt
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/422028.html
標籤:
