如何从列的价值中删除双引号?

时间:2012-02-21 15:49:42

标签: sql sql-server-2005 tsql

这是表,每个列的值都用双引号(“)包装。

Name    Number      Address Phone1  Fax Value   Status
"Test"  "10000000"  "AB"    "5555"  "555"   "555"   "Active" 

如何从每列中删除双引号?我为每一栏都尝试了这个: -

UPDATE Table 
SET Name = substring(Name,1,len(Name)-1) 
where substring(Name,len(Name),1) = '"'

但寻找更可靠的解决方案。如果任何列具有尾随空格

,则会失败

4 个答案:

答案 0 :(得分:30)

只需使用REPLACE?

...
SET Name = REPLACE(Name,'"', '')
...

答案 1 :(得分:11)

UPDATE Table
    SET Name = REPLACE(Name, '"', '')
    WHERE CHARINDEX('"', Name) <> 0

答案 2 :(得分:0)

create table #t
(
   Name varchar(100)
)

insert into #t(Name)values('"deded"')
Select * from #t

update #t Set Name = Coalesce(REPLACE(Name, '"', ''), '')
Select * from #t
drop table #t

答案 3 :(得分:0)

快速而肮脏,但它会起作用:-) 您可以扩展并将其写为存储过程,包括表名,要替换的字符,要替换的字符,执行字符串变量等等。

.navlist a {
    display: inline-block;
    padding: 25px;
}