sql >> Base de Datos >  >> RDS >> Sqlserver

¿Caracteres inversos en cadena con idiomas mixtos de izquierda a derecha y de derecha a izquierda usando SQL?

Creo que toda su cadena está invertida y el hecho de que las palabras hebreas se muestren en el orden correcto es en realidad el resultado de un problema diferente. Lo que sospecho es que las palabras hebreas se almacenan en un orden no léxico.

En teoría, debería poder resolver su problema simplemente invirtiendo la cadena y luego obligando a SQL Server a mostrar las palabras en árabe de izquierda a derecha. Esto se hace agregando un carácter especial al frente y al reverso de su cadena de la siguiente manera:

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

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

    SELECT @reversedString;