Когда я заменяю 'ت' sql, меняем все 'ت' и 'ة', как я могу это исправить?
Когда я заменяю 'ت' sql, меняю все 'ت' и 'ة'
declare @name as nvarchar(max);
set @name = N'ةاتی تو را است ت';
declare @char1 as nvarchar;
set @char1 = N'ت';
declare @char2 as nvarchar;
set @char2 = N'ب';
select replace(@name, @char1 ,@char2);
1 ответ
Решение
Попробуй это
declare @name as nvarchar(max);
set @name = N'ةاتی تو را است ت';
declare @char1 as nvarchar;
set @char1 = N'ت';
declare @char2 as nvarchar;
set @char2 = N'ب';
select replace(@name Collate Persian_100_CI_AI, @char1 ,@char2);
чтобы увидеть все доступные параметры сортировки, вы можете изменить CaseSensitive/Insensitive и / или Accent...
SELECT * FROM ::fn_helpcollations() FH WHERE name LIKE '%Persian%'
Также было бы неплохо поискать в Google другие вопросы и результаты, см. Проблема с сопоставлением Persian_CI_AI и символом "ك".