mysql根据汉字拼音排序查询

例如现在有一张数据表label,字段为id、name,此表的字符集设置为gb2312,以gb2312_chinese_ci整理。

设置InnoDB引擎的字符集也为简体中文,且整理为gb2312_chinese_ci。

  查询语句如下:

select * from label order_by name collate gb2312_chinese_ci;

  效果如下:

tip:有时候结果不是很准确,不知道是不是因为字符集选择的不当导致的,知道的朋友,请解答下,谢谢!

mysql根据汉字拼音排序查询,布布扣,bubuko.com

时间: 2024-08-02 15:14:14

mysql根据汉字拼音排序查询的相关文章

汉字拼音排序

#include <iostream> #include <string> #include <vector> #include <algorithm> using namespace std; int main(int argc, char* argv[]) { string s("中航光电系空方克星股市震荡的安全港湾或引业绩突增"); vector<string> vs; for(unsigned i=0;i<s.l

MySQL实现中文拼音排序

MySQL下新建一个表,默认采用utf8字符集,中文不能直接按照拼音进行排序. 例如以下语句: SELECT * FROM `tb_fixedassets` order by C_FANAME 得到的结果为 解决方法:将要排序的字段字符集改为gbk即可,不需改变整个数据库的字符集.修改后查询结果如下:

MySQL按照汉字拼音字母排序

如果MySQL编码格式为GBK字符集,可直接在查询语句后面添加 order by name asc; --进行升序排序 如果是utf8字符集,需要在排序的时候对字段进行转码, order by convert(name using gbk) asc; 附:查看MySQL编码方式 SHOW VARIABLES LIKE 'character%'; character_set_client  为客户端编码方式: character_set_connection  为建立连接使用的编码: charac

javascript 汉字拼音排序

定义和用法 用本地特定的顺序来比较两个字符串. 语法 stringObject.localeCompare(target) 参数 描述 target 要以本地特定的顺序与 stringObject 进行比较的字符串. 返回值 说明比较结果的数字.如果 stringObject 小于 target,则 localeCompare() 返回小于 0 的数.如果 stringObject 大于 target,则该方法返回大于 0 的数.如果两个字符串相等,或根据本地排序规则没有区别,该方法返回 0.

ios 汉字字符串数组拼音排序

ios没有提供简单的汉字拼音排序方法,在网上看到了oc方法,这里写以下对应的swift方法 var stringCompareBlock: (String,String)->Bool = { (str1:String, str2:String) -> Bool in var nsStr1 = str1 as NSString var nsStr2 = str2 as NSString var encode:NSStringEncoding = CFStringConvertEncodingTo

使mysql按中文字段排序

http://ourmysql.com/archives/391 测试后我发现,gbk不仅对字符内容是按拼音排序的,对数字也是一样,使用时需注意! 另外一篇文章: MySQL按中文拼音排序

MySQL按照汉字的拼音排序、按照首字母分类

项目中有时候需要按照汉字的拼音排序,比如联系人列表.矿物分类等,有的还需要按拼音字母从A到Z分类显示. 如果存储汉字的字段编码使用的是GBK字符集,因为GBK内码编码时本身就采用了拼音排序的方法(常用一级汉字3755个采用拼音排序,二级汉字就不是了,但考虑到人名等都是常用汉字,因此只是针对一级汉字能正确排序也够用了),直接在查询语句后面添加ORDER BY name ASC,查询结果将按照姓氏的升序排序:如果存储姓名的字段采用的是utf8字符集,需要在排序的时候对字段进行转码,对应的代码是ORD

MySQL按照汉字的拼音排序

按照汉字的拼音排序,用的比较多是在人名的排序中,按照姓氏的拼音字母,从A到Z排序: 如果存储姓名的字段采用的是GBK字符集,那就好办了,因为GBK内码编码时本身就采用了拼音排序的方法(常用一级汉字3755个采用拼音排序,二级汉字就不是了,但考虑到人名等都是常用汉字,因此只是针对一级汉字能正确排序也够用了). 直接在查询语句后面 添加 order by name asc; 查询结果按照姓氏的升序排序: 如果存储姓名的字段采用的是 utf8字符集,需要在排序的时候对字段进行转码:对于的代码是  or

MySQL按照汉字的拼音排序(转)

按照汉字的拼音排序,用的比较多是在人名的排序中,按照姓氏的拼音字母,从A到Z排序: 如果存储姓名的字段采用的是GBK字符集,那就好办了,因为GBK内码编码时本身就采用了拼音排序的方法(常用一级汉字3755个采用拼音排序,二级汉字就不是了,但考虑到人名等都是常用汉字,因此只是针对一级汉字能正确排序也够用了). 直接在查询语句后面 添加 order by name asc; 查询结果按照姓氏的升序排序: 如果存储姓名的字段采用的是 utf8字符集,需要在排序的时候对字段进行转码:对于的代码是  or