代码之家  ›  专栏  ›  技术社区  ›  Hadi Jahangiri

当我替换“”sql change all“”和“”时,如何修复它?

  •  0
  • Hadi Jahangiri  · 技术社区  · 6 年前

    当我替换''sql change all''和''

     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 回复  |  直到 6 年前
        1
  •  2
  •   donPablo    6 年前

    试试这个

    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);
    

    若要查看所有可用的排序规则,可能需要更改区分大小写/不区分大小写和/或重音。。。

    SELECT * FROM ::fn_helpcollations() FH WHERE name LIKE '%Persian%'
    

    谷歌搜索其他问题和结果也是个好主意,请参见 Problem with Persian_CI_AI collation And 'ك' character