Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 用于删除SQL Server中不需要的双引号的更新表列_Sql Server_Sql Server 2008 - Fatal编程技术网

Sql server 用于删除SQL Server中不需要的双引号的更新表列

Sql server 用于删除SQL Server中不需要的双引号的更新表列,sql-server,sql-server-2008,Sql Server,Sql Server 2008,我想一次性同时更新所有列的表条目 假设表中有一列EmployeeName,其中有“SAM”、“Jhon”等条目 我需要在其列下显示所有这些条目,如SAM,Jhon。。。双引号不应该存在,请为我提供场景查询 提前感谢您删除最左边的报价: update table1 set column1 = case when column1 = 'entity1' then 'entity2' when column1 like '%entity3%' then 'entity4' else

我想一次性同时更新所有列的表条目

假设表中有一列
EmployeeName
,其中有“SAM”、“Jhon”等条目

我需要在其列下显示所有这些条目,如
SAM
Jhon
。。。双引号不应该存在,请为我提供场景查询


提前感谢您删除最左边的报价:

update table1 set column1 = case 
   when column1 = 'entity1' then 'entity2'
   when column1 like '%entity3%' then 'entity4'
   else 'entity5'
end
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 = 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,'"','')

要删除最左边的引号,请执行以下操作:

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 = 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,'"','')

使用
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

使用
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

为什么不试试
Replace
功能呢

语法:
REPLACE(字符串表达式、字符串模式、字符串替换)

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

Update <tablename>
Set <columnName> = REPLACE(<columnName>,'"','')
where <ColumnWithUniqueVale> = <something>
更新
集合=替换(,“,”,“”)
其中=

e、 g
Replace(EmployeeName,“,”)
为什么不试试
Replace
功能呢

语法:
REPLACE(字符串表达式、字符串模式、字符串替换)

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

Update <tablename>
Set <columnName> = REPLACE(<columnName>,'"','')
where <ColumnWithUniqueVale> = <something>
更新
集合=替换(,“,”,“”)
其中=

< >代码>替换(雇员名称、“”、“′”)<代码> < /P>请考虑在格式化文本中添加示例表数据和预期结果。同时向我们展示您当前的查询,这些查询很难阅读。请考虑并使您的问题对阅读更具吸引力。请考虑在格式化文本中添加示例表数据和预期结果。同时向我们展示您当前的查询,这些查询很难阅读。请考虑并使您的问题更具吸引力。我认为,您不想用<代码> > <代码>(空白)取代<代码> ,而是用空字符串<代码> >代码>;@ SuuGo更新了答案,我的错误。谢谢。不要认为,您要用“<代码> > <代码> > <代码> >(空白),而是使用空字符串
'
@shnugo更新了答案,我错了。感谢您提供这段代码片段,它可能会提供一些即时帮助。通过说明为什么这是一个很好的解决问题的方法,正确地解释它的教育价值,并将使它对未来有类似但不完全相同问题的读者更有用。请在回答中添加解释,并说明适用的限制和假设。特别是,很难看出这是如何剥离
字符。感谢您提供此代码段,它可能会提供一些即时帮助。通过说明为什么这是一个很好的解决问题的方法,正确地解释它的教育价值,并将使它对未来有类似但不完全相同问题的读者更有用。请在回答中添加解释,并说明适用的限制和假设。特别是,很难看出这是如何根据请求剥离
字符的。