2016-07-04 2 views
0

У меня есть поле в таблице, где я хранить несколько тегов, разделенных запятой, напримерЗаменить запятой с различной запятой, в поле базы данных

tag1, tag2, tag3,tag4 

мне нужно заменить один запятая с ، для персидской версии так что теги будут выглядеть

tag1، tag2، tag3،tag4، 

у меня есть более трех тысяч записей в базе данных и метки сохраняются либо ، или ,, но я хочу, чтобы все из них должны быть разделены с ،.

Как найти и заменить все , с помощью ، с использованием SQL.

Я использую SQL Server в качестве моей базы данных.

Допустим, структура таблицы

Таблица БЛОГ

БЛОГ Таблица полей

ID int 
Title nVarchar(300) 
Description nVarchar(500) 
Details nVarchar(max) 
Date DateTime 
Tags nVarchar(300) 
Image varchar(60) 
CategoryID int 
Updated DateTime 
Created DateTime 
Published Boolean 
+1

Прочитано [Является ли хранение разделительного списка в столбце базы данных действительно так плохо?] (Http://stackoverflow.com/questions/3653462/is-storing-a-delimited-list-in-a-database-column-really -that-bad), где вы увидите много причин, по которым ответ на этот вопрос ** Абсолютно да! ** –

+0

В моем случае простое использование. Мне не нужны первичный ключ или уникальные значения в этом поле. он используется для простой функции поиска блока. – Learning

ответ

1

Вы пробовали использовать REPLACE():

Update BLOG 
SET Tags = REPLACE(Tags, N',', N'،') 

Найти и заменить символ Unicode (с)

+2

Я использовал бы 'N ','' для литералов unicode – cha

+0

Я искал Replace, заменил бы все точные значения ',' в одном поле – Learning

+0

@Learning Да, он должен заменить все вхождения. –