gpt4 book ai didi

sql - SQL Server 中从右到左的字符串

转载 作者:行者123 更新时间:2023-12-04 04:16:48 25 4
gpt4 key购买 nike

考虑下面包含波斯语(从右到左的语言)和英语(从左到右的语言)的查询:

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

所需的结果是这个字符串:

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

是否有任何函数或任何其他方式将字符串从 ltr 转换为 rtl?

最佳答案

需要添加N在字符串文字之前:SELECT N'نرم افزار SQL سرور' .这是正确解释包含的 Unicode 字符所必需的。 ( Source )

重要提示:在某些情况下,请避免使用标准的复制粘贴来将 SELECT 放入 SSMS 命令窗口。这可以 affect the RTL/LTR order .相反,尝试使用 打开正确组合的文件文件 > 打开 .

关于您的评论 :

the result should be : سرور SQL نرم افزار`



我承认我只部分了解 RTL 书写系统,但据我所知,波斯语 完全按照您输入的顺序放入输出 (即使从右到左阅读)。你能告诉我基于 Unicode Bidirectional Algorithm或类似的标准文档为什么 SQL Server 应该更改词序?不应该是您期望在另一个地方进行预处理所做的更改,发送预期的字符串形式 SELECT N'سرور SQL نرم افزار' ?我看不出为什么只是 SQL SELECT应该执行更改。 如果是这样,如果你输入这样一个 SELECT 的结果会发生什么进入另一个 SELECT ?又一次转型? 我有理由认为 SQL 服务器在技术上正确地解释了您的输入。

提示:也许您可以尝试用不同的 Directional formatting characters 包围您的 RTL 文本。 .

请尝试相同的 SELECT使用 MySQL 服务器在 SQL Fiddle .不同的服务器和技术,但与 Microsoft SQL Server 给出的结果相同。

SSMS 与 MS SQL Server 的结果:
enter image description here

结论:为了获得预期的结果,请相应地形成输入。

相关: Transformation of word order you expected can be done by appropriate settings in user interface.

关于sql - SQL Server 中从右到左的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30859697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com