更新表列以删除SQL Server中不需要的双引号

时间:2017-05-15 08:18:07

标签: sql-server sql-server-2008

我想一次性为所有列更新表条目。

假设在表格中有一列"All",其条目如" SAM"," Jhon"等等...

我需要在其列下显示的所有条目应该只显示为EmployeeNameSAM ...双引号不应该出现,请提供我对该方案的查询。

提前致谢

4 个答案:

答案 0 :(得分:3)

使用Replace功能作为下一个: -

update TableName
set columnName= REPLACE(columnName,'"','')

<强>演示: -

Create table #Dummy (col varchar(100))

insert into #Dummy values ('"SAM", "Jhon", "Smith"')

update #Dummy
set col = REPLACE(col,'"','')


select *  from #Dummy

<强>结果: -

SAM, Jhon, Smith

答案 1 :(得分:0)

update table1 set column1 = case 
   when column1 = 'entity1' then 'entity2'
   when column1 like '%entity3%' then 'entity4'
   else 'entity5'
end

答案 2 :(得分:0)

删除最左边的引用:

UPDATE MyTable
SET EmployeeName = SUBSTRING(EmployeeName, 2, LEN(EmployeeName))
WHERE LEFT(EmployeeName, 1) = '"'

删除最右边的引用:

UPDATE MyTable
SET EmployeeName = SUBSTRING(EmployeeName, 1, LEN(EmployeeName)-1)
WHERE RIGHT(EmployeeName, 1) = '"' 

否则您也可以使用更简单的方法一次删除所有引号。

update MyTable set EmployeeName = replace(EmployeeName,'"','')

答案 3 :(得分:0)

为什么不试试Replace函数。

语法:REPLACE ( string_expression , string_pattern , string_replacement )

如果您的表包含列中带有双引号的数据,则需要使用以下查询更新表;

Update <tablename>
Set <columnName> = REPLACE(<columnName>,'"','')
where <ColumnWithUniqueVale> = <something>

例如Replace(EmployeeName,'"','')