从SQL

时间:2015-05-20 06:39:10

标签: c# sql database sql-server-2012

我有一个数据库,其中表中的特定列的值的大小为{789-uiuiun-990 ..},类型为(varchar(128),null)。

有没有办法编写一个查询,通过删除那些大括号给我结果。

i.e. select col from db ; ---> results with braces

如何修改它以仅提取值并删除大括号。

谢谢

4 个答案:

答案 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)

使用substring

SELECT SUBSTRING(col, 2, LEN(col) - 2) AS 'col' FROM db

通常,您可以在这里找到解决此类问题的方法:docs

答案 3 :(得分:2)

declare @S varchar(128)
set @S='{789-uiuiun-990..5567}'
select substring (@s,2,LEN(@s)-2)