Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Invertire i caratteri nella stringa con lingue miste da sinistra a destra e da destra a sinistra utilizzando SQL?

Credo che l'intera stringa sia invertita e il fatto che le parole ebraiche vengano visualizzate nell'ordine corretto sia in realtà il risultato di un problema diverso. Quello che sospetto è che le parole ebraiche siano memorizzate in un ordine non lessicale.

In teoria dovresti essere in grado di risolvere il tuo problema semplicemente invertendo la stringa e quindi forzando SQL Server a visualizzare le parole arabe da sinistra a destra. Questo viene fatto aggiungendo un carattere speciale alla parte anteriore e posteriore della stringa come segue:

    DECLARE @sourceString NVARCHAR(100) = N'123456 בדיקה esrever sti fI kcehC';

    DECLARE @reversedString NVARCHAR(4000)  = nchar(8237) + REVERSE(@sourceString) +  nchar(8236)

    SELECT @reversedString;