我有一个数据库,其中表中的特定列的值的大小为{789-uiuiun-990 ..},类型为(varchar(128),null)。
有没有办法编写一个查询,通过删除那些大括号给我结果。
i.e. select col from db ; ---> results with braces
如何修改它以仅提取值并删除大括号。
谢谢
答案 0 :(得分:3)
尝试使用左右功能在第一次和最后一次切割字符
Select LEFT(RIGHT(col, len(col)-1),len(col)-2) from db
您还可以使用substring + len函数来实现与下面相同的
Select substring(col,2,(LEN(col)-2)) from db
答案 1 :(得分:2)
使用SQL REPLACE函数将所有大括号替换为空格。
删除它的代码示例
Declare @var varchar(100) = '{this is a value}'
Select REPLACE(REPLACE(@var,'{',''), '}','')
你的价值:
Select REPLACE(REPLACE(col,'{',''), '}','') from db
答案 2 :(得分:2)
答案 3 :(得分:2)
declare @S varchar(128)
set @S='{789-uiuiun-990..5567}'
select substring (@s,2,LEN(@s)-2)