暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 用utl_raw强制转换为varchar2

askTom 2018-02-06
1098

问题描述



下面的查询将字符串转换为小写。我想保持这种情况。您能否为此提出解决方案。

select utl_raw.cast_to_varchar2(nlssort('PRAshantÉ', 'nls_sort=binary_ai'))
from dual; 
复制


o/p: prashante


谢谢

专家解答

那是因为你传递的是去掉了大小写和口音的价值!

请注意,以下所有内容都给出了相同的输出:

select nlssort('PRAshantÉ', 'nls_sort=binary_ai') c1,
       nlssort('prashanté', 'nls_sort=binary_ai') c2,
       nlssort('prashante', 'nls_sort=binary_ai') c3
from   dual; 

C1                     C2                     C3                     
7072617368616E746500   7072617368616E746500   7072617368616E746500 
复制


这是因为nls_sort = binary_ai意味着给出字符串的排序规则键,忽略大小写和重音符号。所以上面的所有字符串都映射到相同的值。

但是,您到底为什么要在自己的选择中进行这种转换?为什么不直接得到它。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论