加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL服务器中从右到左的字符串

发布时间:2020-12-12 07:08:48 所属栏目:MsSql教程 来源:网络整理
导读:考虑下面包含波斯语(从右到左语言)和英语(从左到右语言)的查询: SELECT '??? ????? SQL ????' 所需的结果是这个字符串: ????SQL???????? 是否有任何函数或任何其他方法将字符串从ltr转换为rtl ?? 解决方法 需要在字符串文字之前添加N:SELECTN’????????SQL
考虑下面包含波斯语(从右到左语言)和英语(从左到右语言)的查询:
SELECT '??? ????? SQL ????'

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

????SQL????????

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

解决方法

需要在字符串文字之前添加N:SELECTN’????????SQL????’.这是正确解释包含的Unicode字符所必需的. ( Source)

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

关于你的评论:

the result should be : ???? SQL ??? ?????`

我承认我只是部分地理解了RTL书写系统,但是从我所看到的情况来看,波斯语单词在输入时完全按顺序输入(即使从右向左阅读).您能否根据Unicode Bidirectional Algorithm或类似的标准文档向我展示为什么SQL Server应该更改单词顺序?不应该改变你期望在另一个地方进行预处理,发送预期的字符串形式SELECTN’????SQL????????’?我不明白为什么只有SQL SELECT应该执行更改.如果确实如此,如果将这样的SELECT结果输入另一个SELECT会发生什么?另一个变化?我有理由认为SQL服务器在技术上正确地解释您的输入.

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

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

SSMS与MS SQL Server的结果:

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读