• PostgreSQL下,对汉字按拼音排序


    参考学习此文:

    http://blog.163.com/digoal@126/blog/static/163877040201173003547236/

    建库

    postgres=# l
                                      List of databases
       Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
    -----------+----------+----------+-------------+-------------+-----------------------
     db_utf8   | gao      | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | 
     postgres  | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | 
     template0 | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres          +
               |          |          |             |             | postgres=CTc/postgres
     template1 | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres          +
               |          |          |             |             | postgres=CTc/postgres
    (4 rows)
    
    postgres=# 

    建表

    postgres=# d
                   List of relations
     Schema |       Name        | Type  |  Owner   
    --------+-------------------+-------+----------
     public | gao_chinese_order | table | postgres
     public | tbl_chinese_order | table | postgres
    (2 rows)
    
    postgres=# 
     insert into tbl_chinese_order values ('刘少奇');
    
    insert into tbl_chinese_order values ('刘德华');
    
    insert into tbl_chinese_order values ('张学友');

    普通排序

    postgres=# select * from tbl_chinese_order order by info;
      info  
    --------
     刘少奇
     刘德华
     张学友
    (3 rows)
    postgres=# select * from tbl_chinese_order order by convert_to(info,'SQL_ASCII');
      info  
    --------
     刘少奇
     刘德华
     张学友
    (3 rows)
    
    postgres=# 

    按拼音排序:

    postgres=# select * from tbl_chinese_order order by convert_to(info,'GBK');
      info  
    --------
     刘德华
     刘少奇
     张学友
    (3 rows)
    
    postgres=#
    postgres=# select * from tbl_chinese_order order by convert_to(info,'GB18030');
      info  
    --------
     刘德华
     刘少奇
     张学友
    (3 rows)
    
    postgres=# 
  • 相关阅读:
    (Problem 14)Longest Collatz sequence
    (Problem 13)Large sum
    (Problem 10)Summation of primes
    (Problem 9)Special Pythagorean triplet
    (Problem 7)10001st prime
    (Problem 6)Sum square difference
    数组
    断点及复习
    抽象和封装
    类和对象
  • 原文地址:https://www.cnblogs.com/gaojian/p/3188609.html
Copyright © 2020-2023  润新知