问题描述
嗨,
我创建了一个2表一个与数字数据类型其他与varchar2。我在两个表中插入了数值 (1-11)。当我为number表使用MAX函数时,我得到11是varchar2的最大值9是最大值。然后我注意到对于varchar2,它考虑了Ascii值来排序数字,但不适用于Varchar表。
那么,您能告诉我oracle如何在内部对数据进行排序吗?
如果有的话,请提供任何分类参考。
谢谢。
我创建了一个2表一个与数字数据类型其他与varchar2。我在两个表中插入了数值 (1-11)。当我为number表使用MAX函数时,我得到11是varchar2的最大值9是最大值。然后我注意到对于varchar2,它考虑了Ascii值来排序数字,但不适用于Varchar表。
那么,您能告诉我oracle如何在内部对数据进行排序吗?
如果有的话,请提供任何分类参考。
谢谢。
专家解答
我们对数字进行排序,就像您希望对数字进行排序一样。
同样,我们以 “自然” 的方式对日期和时间戳进行排序。
对于字符串,我们必须根据这些字符串的排序规则对它们进行排序。你可能会认为 “那只是ascii”,但当然,字符串比这更复杂,因为我们支持来自世界各地的字符 (和字符集)。
请在全球化指南中阅读有关字符串排序的详细信息,但是是的,在 “最简单” 的情况下,ascii代码是排序序列。
https://docs.oracle.com/database/121/NLSPG/ch5lingsort.htm
同样,我们以 “自然” 的方式对日期和时间戳进行排序。
对于字符串,我们必须根据这些字符串的排序规则对它们进行排序。你可能会认为 “那只是ascii”,但当然,字符串比这更复杂,因为我们支持来自世界各地的字符 (和字符集)。
请在全球化指南中阅读有关字符串排序的详细信息,但是是的,在 “最简单” 的情况下,ascii代码是排序序列。
https://docs.oracle.com/database/121/NLSPG/ch5lingsort.htm
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




