строка справа налево в SQL server

рассмотрим ниже запрос, содержащий как персидский (справа налево язык), так и английский (слева направо язык):

SELECT 'نرم افزار SQL سرور'

требуемым результатом является следующая строка:

سرور SQL نرم افزار

есть ли функция или какой-либо другой способ преобразования строки из ltr в rtl??

1 ответов


требуется добавить N перед строковым литералом: SELECT N'نرم افزار SQL سرور'. Это необходимо для правильной интерпретации содержащихся символов Юникода. (источник)

важно: в некоторых случаях, пожалуйста, избегайте использования стандартной copy-paste для того, чтобы поместить SELECT в окно команды SSMS. Это могло бы ... --12-->влияет на порядок RTL / LTR. Вместо этого, попробуйте открыть правильно составленный файл с помощью Файл > Открыть.

и относительно вашего комментарий:

результат должен быть: سرور SQL نرم افزار'

Я признаю, что понимаю RTL систему письма только частично, но из того, что я вижу, персидские слова выводятся точно в том порядке, в каком вы их ввели (даже если читать справа налево). Не могли бы вы показать мне на основе Двунаправленный Алгоритм Unicode или аналогичный документ стандартов почему порядок слов должен быть изменен SQL Server? Не должно быть изменение, которое вы ожидаете, сделано путем предварительной обработки в другом месте, отправив ожидаемую строковую форму SELECT N'سرور SQL نرم افزار'? Я не вижу смысла, почему просто SQL SELECT должно выполнить изменение. если это так, что произойдет, если вы кормите результат такого SELECT в другой SELECT? Еще одна трансформация? у меня есть основания полагать, что SQL server интерпретирует ваш ввод технически правильно.

подсказка: возможно, вы можете попытаться окружить свой RTL-текст другим направленное форматирование персонажи.

пожалуйста, попробуйте то же SELECT с сервером MySQL на SQL Fiddle. Другой сервер и технология, но тот же результат, что и Microsoft SQL Server.

результат SSMS С MS SQL Server: enter image description here

вывод: для того, чтобы получить ожидаемый результат, пожалуйста, форму ввода соответственно.

по теме: преобразование порядка слов, который вы ожидали, может быть сделано соответствующие настройки в пользовательском интерфейсе.