oracle是否以特定的规范化格式存储unicode文本?

太空麋

我想知道Oracle Unicode数据库是否以规范化形式存储数据,或者Oracle是否保证查询返回的文本采用某种规范化形式。

看来应该很容易回答这个问题,但是我在网上找不到任何信息,这使我认为答案是否定的。有人对此有骨感吗?

斯坦

注意Oracle关于规范等效性的文档说:

规范对等是多语言排序规则的一个属性,它描述了对等价代码点序列进行排序的方式。如果在特定的多语言排序规则中应用规范对等,则将规范对等的字符串视为相等。

一个Unicode代码点可以等同于一系列基本字母代码点加上变音符号代码点。这称为Unicode规范对等。例如,ä等于其基本字母a和变音符号。语言标志CANONICAL_EQUIVALENCE = TRUE表示需要在特定的多语言排序规则中应用Unicode中定义的所有规范对等规则。Oracle数据库定义的多语言归类包括规范对等标记的适当设置。FALSE如果所有数据均采用组合形式,则可以将标志设置为加快比较和排序功能。

因此,基本上,Oracle具有一个CANONICAL_EQUIVALENCE标志,您可以将其配置为控制Oracle在排序过程中比较和考虑相同Unicode逻辑字符的分解/组合形式的方式。

此标志的存在本身意味着Oracle在存储数据时不会自动规范化(组成或分解)Unicode字符。如果Oracle在存储数据时确实自动执行了标准化,则使用该标志将是无意义且无用的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章