4

你如何比较字符串二进制(不是字母数字)?

洪流规格:

键必须是字符串并按排序顺序显示(按原始字符串排序,而不是字母数字)。应该使用二进制比较来比较字符串,而不是特定于文化的“自然”比较。

所以我需要按键对字典进行排序......但我没有得到这个规范......解释......任何人?

更新:据此: http ://docs.oracle.com/cd/B19306_01/server.102/b14225/ch5lingsort.htm

使用二进制排序

一种对字符数据进行排序的方法是基于字符编码方案定义的字符的数值。这称为二元排序。二元排序是最快的排序类型。它们对英文字母产生了合理的结果,因为 ASCII 和 EBCDIC 标准将字母 A 到 Z 定义为升序数值。

注意:在 ASCII 标准中,所有大写字母都出现在任何小写字母之前。在 EBCDIC 标准中,情况正好相反:所有小写字母都出现在任何大写字母之前。

当存在其他语言中使用的字符时,二进制排序通常不会产生合理的结果。例如,当 Ä 在字符编码方案中的数值高于 B 时,升序 ORDER BY 查询返回字符串 ABC、ABZ、BCD、ÄBC。对于使用表意字符的亚洲语言,二进制排序通常在语言上没有意义。

所以基本上它的英语结果与按字母排序的结果相同..很好..

4

1 回答 1

0

只要您确保将字符视为字节,任何标准的排序例程都应该有效。

于 2012-04-20T16:39:33.300 回答