我有一個數據庫,其中表中的某個列的值爲大括號{789-uiuiun-990 ..}(varchar(128),null)。從列中提取SQL的值
有沒有辦法編寫一個查詢,通過刪除大括號給出結果。
i.e. select col from db ; ---> results with braces
我該如何修改它才能提取值並移除大括號。
感謝
我有一個數據庫,其中表中的某個列的值爲大括號{789-uiuiun-990 ..}(varchar(128),null)。從列中提取SQL的值
有沒有辦法編寫一個查詢,通過刪除大括號給出結果。
i.e. select col from db ; ---> results with braces
我該如何修改它才能提取值並移除大括號。
感謝
嘗試使用左,右功能削減charachter在第一和最後
Select LEFT(RIGHT(col, len(col)-1),len(col)-2) from db
您還可以使用子+ len函數來實現下同
Select substring(col,2,(LEN(col)-2)) from db
使用SQL REPLACE函數用空格替換所有大括號。除去
代碼示例它
Declare @var varchar(100) = '{this is a value}'
Select REPLACE(REPLACE(@var,'{',''), '}','')
你的價值:
Select REPLACE(REPLACE(col,'{',''), '}','') from db
使用substring
:
SELECT SUBSTRING(col, 2, LEN(col) - 2) AS 'col' FROM db
在一般情況下,這是在哪裏你會找到一個解決方案,以這樣的問題:docs
declare @S varchar(128)
set @S='{789-uiuiun-990..5567}'
select substring (@s,2,LEN(@s)-2)
嘗試'從數據庫'選擇左(右(col,len(col)-1),len(col)-2)大括號始終是第一個和最後一個字符 – Sachu
請問你解釋一下嗎?意味着這個查詢將如何給出預期的結果? –
@RahulParit只是刪除了大括號的值。 – Novak007