Heim > Datenbank > MySQL-Tutorial > Oracle中文、数字混杂字段的排序

Oracle中文、数字混杂字段的排序

WBOY
Freigeben: 2016-06-07 17:03:19
Original
945 Leute haben es durchsucht

对Oracle中中文、数字混杂形式的字段进行排序的方法: 例如: order by NLSSORT(字段名,

对Oracle中中文、数字混杂形式的字段进行排序的方法:

例如:

  •  
  • NLSSORT() 函数:

    如果数据库字符集选用的是ZH16GBK,那么使用order by默认是按照汉字的“二进制编码”顺序进行排序的。

    可以使用NLSSORT()函数可以改变Oralce 对汉字的排序规则,排序规则如下(前三条对简体中文进行排序,后两条对繁体中文进行排序):

    1. SCHINESE_RADICAL_M

        简体中文按照第一顺序是“部首”、第二顺序是“笔画数”进行排序。

    2. SCHINESE_STROKE_M

        简体中文按照第一顺序“笔画数”、是第二顺序是“部首”进行排序。

    3. SCHINESE_PINYIN_M

        简体中文按照拼音进行排序。上例中即对简体汉字按照拼音进行排序。

    4. TCHINESE_RADICAL_M

        繁体中文按照第一顺序是“部首”、第二顺序是“笔画数”进行排序。

    5. TCHINESE_STROKE_M

        繁体中文按照第一顺序是“笔画数”、第二顺序是“部首”进行排序。 

    TRANSLATE() 函数:

    语法:TRANSLATE(char, from, to)

    用法:将char中出现在from中的每个字符替换为to中的相应字符,若from比to字符串长,那么在from中比to中多出的字符将会被删除。三个参数中有一个是空,返回值也将是空值。

    该函数可用于剔除字段中的汉字,,例:

    分析:该语句要将 char--'例1213' 中出现在 from--'0123456789例1213' 中的字符替换为 to--'0123456789' 中的字符,根据 from、to 的对应关系,将 char 中的 0替换成0、1替换成1、...9替换成9,即 char 中的数字不变,又 from 比 to 长,则 from 中比 to 中多出的字符将被删除,即删除 char 中的汉字。

    linux

    Verwandte Etiketten:
    Quelle:php.cn
    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
    Beliebte Tutorials
    Mehr>
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage