• Eirikur Eiriksson - Monday, June 19, 2017 5:58 AM

    farax_x - Monday, June 19, 2017 4:57 AM

    Hi all,
    I have string like this:

    DECLARE @m NVARCHAR(max)= N'\u0633\u0644\u0627\u0645'

    How can I convert(Unescape) it to normal string ?

    Quick suggestion
    😎
    DECLARE @m NVARCHAR(max)= N'\u0633\u0644\u0627\u0645'

    ;WITH T(N) AS (SELECT X.N FROM (VALUES (0),(0),(0),(0),(0),(0),(0),(0),(0),(0)) X(N))
    , NUMS(N) AS (SELECT TOP(LEN(@m) / 6) ROW_NUMBER() OVER (ORDER BY @@VERSION) AS N FROM T T1,T T2,T T3,T T4,T T5,T T6,T T7,T T8,T T9)
    SELECT
      (
      SELECT
       N'' + NCHAR(CONVERT(INT,SUBSTRING(@m,((NM.N * 6) - 5) + 2,4),0))
      FROM NUMS NM
      FOR XML PATH(''),TYPE
      ).value('(./text())[1]','NVARCHAR(MAX)') AS STR_VAL

    Output
    ɹʄɳʅ

    the out put is not correct the right one is 
    سلام