Как избавиться от двойной кавычки от значения столбца? - PullRequest
8 голосов
/ 21 февраля 2012

Вот таблица, значение каждого столбца заключено в двойные кавычки (").

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 ]

30 голосов
/ 21 февраля 2012

Просто используйте REPLACE?

...
SET Name = REPLACE(Name,'"', '')
...
11 голосов
/ 21 февраля 2012
UPDATE Table
    SET Name = REPLACE(Name, '"', '')
    WHERE CHARINDEX('"', Name) <> 0
0 голосов
/ 25 ноября 2015

Быстро и Грязно, но это будет работать :-) Вы можете развернуть и записать это как хранимую процедуру, включающую имя таблицы, символ, который вы хотите заменить, символ, который нужно заменить, выполнение переменной String и т. Д. *

DECLARE 
@TABLENAME VARCHAR(50)

SELECT @TABLENAME = 'Locations'

SELECT 'Update ' + @TABLENAME + ' set ' +  column_Name + ' = REPLACE(' + column_Name + ',''"'','''')'
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = @TABLENAME
and data_Type in ('varchar')
0 голосов
/ 21 февраля 2012
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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...