mysql中按照拼音首字母排序 convert(name using gbk) ASC 注:name 为字段名称 oracle中按照拼音首字母排序 nlssort(enterprise_name,'NLS_SORT=SCHINESE_PINYIN_M')…
在处理使用Mysql时,数据表采用utf8字符集,使用中发现中文不能直接按照拼音排序 如果数据表tbl的某字段name的字符编码是latin1_swedish_ci select * from `tbl` order by birary(name) asc ; 如果数据表tbl的某字段name的字符编码是utf8_general_ci SELECT name FROM `tbl` WHERE 1 ORDER BY CONVERT( name USING gbk ) COLLATE gbk_chi…
最简单.快速的方法: 将需要进行排序的字段编码设置为GBK,然后在查询时直接使用asc/desc就可以啦…
需求说明: App应用中最常见的一种操作就是对城市按照拼音首字母排序,以方便选择城市.而已有的json格式的城市数据是没有这种排序的. 已有的json格式的城市数据格式如下[简化之后]: 数据格式说明:每个城市(省.自治区.直辖市.普通市.国外)都包含3部分,即当前城市的code.父级code和城市名称. { "city": [ [ "489", "0", "全国" ], [ "530", "48…
演示地址:http://lar5.sinaapp.com/ 1.index.html <html xmlns="http://www.w3.org/1999/xhtml"><head> <title>中文首字母排序</title> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewp…
因为数据库中可以设定表的编码格式,不同编码格式下,中文的排序有区别,下面分别介绍常用编码下的排序方法. 1.如果数据表的某字段的字符编码是 utf8_general_ci,排序写法: ORDER BY CONVERT(表别名.字段名 USING gbk) COLLATE gbk_chinese_ci ASC; 例子 SELECT * FROM mg_clinic mc ORDER BY CONVERT(mc.`CLNAME` USING gbk) COLLATE gbk_chinese_ci A…
按照汉字的拼音排序,用的比较多是在人名的排序中,按照姓氏的拼音字母,从A到Z排序: 如果存储姓名的字段采用的是GBK字符集,那就好办了,因为GBK内码编码时本身就采用了拼音排序的方法(常用一级汉字3755个采用拼音排序,二级汉字就不是了,但考虑到人名等都是常用汉字,因此只是针对一级汉字能正确排序也够用了). 直接在查询语句后面 添加 order by name asc; 查询结果按照姓氏的升序排序: 如果存储姓名的字段采用的是 utf8字符集,需要在排序的时候对字段进行转码:对应的代码是 ord…
oracle : 在oracle9i中新增了按照拼音.部首.笔画排序功能.设置NLS_SORT值SCHINESE_RADICAL_M 按照部首(第一顺序).笔划(第二顺序)排序SCHINESE_STROKE_M 按照笔划(第一顺序).部首(第二顺序)排序SCHINESE_PINYIN_M 按照拼音排序,系统的默认排序方式为拼音排序 举例如下:表名为 dept ,其中name字段是中文,下面分别实现按照单位名称的笔划.部首和拼音排序.//按照笔划排序select * from dept order…
在oracle9i中新增了按照拼音.部首.笔画排序功能.设置NLS_SORT值 SCHINESE_RADICAL_M 按照部首(第一顺序).笔划(第二顺序)排序SCHINESE_STROKE_M 按照笔划(第一顺序).部首(第二顺序)排序SCHINESE_PINYIN_M 按照拼音排序,系统的默认排序方式为拼音排序 举例如下:表名为 dept ,其中name字段是中文,下面分别实现按照单位名称的笔划.部首和拼音排序.//按照笔划排序select * from dept order by nlss…
select * from tableName CONVERT( FieldName USING gbk ) COLLATE gbk_chinese_ci desc…
js提供了sort()方法来对数组内的数据进行排序,但是只是对英文有作用,这个时候需要自定义排序的规则 ['张三','李四','王五'].sort((a, b) => a.localeCompare(b, 'zh-Hans-CN', {sensitivity: 'accent'})) 输出 ['李四','王五','张三'] 解释一下,sort()里面定义了一个函数来指定排序的规则,localeCompare()方法返回一个数字,指示引用字符串是在排序顺序之前还是之后,或者与排序顺序中的给定字符串…
基于Microsoft SQL Server 的标量值函数fun_GetPy,借鉴其他优秀的博主文章,此处贴出源码,以及使用方法 1.打开新建查询,贴如下代码,F5 /****** Object: UserDefinedFunction [dbo].[fun_GetPy] Script Date: 11/01/2019 11:07:35 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO )) ) AS BEGIN ) ) COLLA…
1> 网络上很多php的工具类可以将汉字转为拼音: 2> 将拼音进行排序即可 另一种则是类似mysql转码方式: 1 foreach ($array as $key=>$value) 2 { 3 $new_array[$key] = iconv('UTF-8', 'GBK', $value); 4 } 1 foreach ($array as $key=>$value) 2 { 3 $new_array[$key] = iconv('UTF-8', 'GBK', $value);…
<?php /* 中文汉字转拼音首字母的PHP简易实现方法. 要求: 只能是GB2312码表里面中文字符 转换得到字符串对应的拼音首字母大写. 用法: echo zh2py::conv('Chinese 中华人民共和国');//Chinese ZHRMGHG 或 $py = new zh2py; echo $py->conv('Chinese 中华人民共和国');//Chinese ZHRMGHG */ class zh2py { //根据汉字区位表 //我们可以看到从16-55区之间是按拼音…
1.Map<String, ArrayList<XX>> entityHashMap = new HashMap<>(); 然后增加一些数据,会发现根据String键值排序,并不是增加的时候的顺序, 如果是中文,会按汉字的拼音首字母排序. 2.解决方法: Map<String, ArrayList<WXsd>> entityHashMap = new LinkedHashMap<>(); 只要将HashMap==>LinkedH…
工作中经常会遇到的一些排序问题,比如 按汉字的拼音首字母排序,比如人名排序等,就要用到下面的方法了,思路: 1. 获得汉字 2. 将汉字转换成首字母,并记录下(必要时保存到数据库) 3. 按首字母进行排序并展示 控制台输出演示: 汉字转首字母演示,请输入汉字: 4654^*&^&*^_FDSF你i好3啊>?>?>*(*33P{}{ 直接转换convertTo: 4654^*&^&*^_FDSFnih3a>?>?>*(*33P{}{ 保留一…
创建存储过程,将中文字段转拼音首字母 CREATE DEFINER=`root`@`%` FUNCTION `fristPinyin`(P_NAME VARCHAR(255)) RETURNS varchar(255) CHARSET utf8 BEGIN DECLARE V_RETURN VARCHAR(255); SET V_RETURN = ELT(INTERVAL(CONV(HEX(left(CONVERT(P_NAME USING gbk),1)),16,10), 0xB0A1,0xB…
项目中有时候需要按照汉字的拼音排序,比如联系人列表.矿物分类等,有的还需要按拼音字母从A到Z分类显示. 如果存储汉字的字段编码使用的是GBK字符集,因为GBK内码编码时本身就采用了拼音排序的方法(常用一级汉字3755个采用拼音排序,二级汉字就不是了,但考虑到人名等都是常用汉字,因此只是针对一级汉字能正确排序也够用了),直接在查询语句后面添加ORDER BY name ASC,查询结果将按照姓氏的升序排序:如果存储姓名的字段采用的是utf8字符集,需要在排序的时候对字段进行转码,对应的代码是ORD…
在mysql数据库中可以使用GBK编码对中文进行排序,如名字按首字母排序 order by convert(substr(tu.username,1,1) using 'GBK') 其中substr方法截取第一个字母也就是姓氏,然后转成GBK编码进行排序 这个方式我觉得还是相当有意思的…
select * FROM organ_new where city_code = 'SZ0755' and organ_type = 'H' and state = '1' ORDER BY FIELD(organ_category,'三级','二级','一级') ,#自定义排序 CONVERT(organ_name USING gbk) COLLATE #中文首字母排序 gbk_chinese_ci DESC…
mysql 中取得汉字字段的各汉字首字母 这个转载于http://blog.csdn.net/lky5387/article/details/11973721 DELIMITER ;;CREATE  FUNCTION `getPY`(in_string VARCHAR(65534)) RETURNS mediumtext CHARSET utf8BEGINDECLARE tmp_str VARCHAR(65534) charset gbk DEFAULT '' ; #截取字符串,每次做截取后的字…
(之前发的这篇博文因为含有敏感关键字,只好重发一遍了) <?php $str = "我们可以在浏览器中看到,当鼠标移到元素上时,元素开始向右移动,开始比较慢,之后则比较快,移开时按原曲线回到原点."; $len = mb_strlen($str); $sta = []; for($i = 0; $i<$len; $i++){ $tmp = mb_substr($str,$i,1); if($tmp != " "){ array_push($sta,$tm…
有一个person对象如下: public class Person { private String id;private String nam; } 一个list集合如下: List<Employee> personList= Arrays.asList( new Person("1",“张小同"), new Person("2",”靖大同"), new Person("3",”王五"), new P…
//php获取中文字符拼音首字母 function getFirstCharter($str){ if(empty($str)){return '';} $fchar=ord($str{}); }); $s1=iconv('UTF-8','gb2312',$str); $s2=iconv('gb2312','UTF-8',$s1); $s=$s2==$str?$s1:$str; $asc=ord($s{})*+ord($s{})-; &&$asc<=-) return 'A'; &a…
本人提供的方法有如下特点: 1.代码精简,使用简单,只要会基本的SQL语句就行2.不用建立mysql 函数等复杂的东西3.汉字库最全,可查询20902个汉字 方法如下: 1.建立拼音首字母资料表Sql代码:(最好再加上主键和索引) DROP TABLE IF EXISTS `pinyin`; CREATE TABLE `pinyin` ( `PY` varchar(1), `HZ1` varchar(1), `HZ2` varchar(1) ) ; INSERT   INTO   `pinyin…
C#获取字符拼音首字母,可以存储在数据库中以备将来按字母搜索的需求. public static string GetAc(string s) { try { string temp = Service.Text.Chinese2Spell.MakeSpellCode(s, Service.Text.SpellOptions.EnableUnicodeLetter).ToUpper(); ) , ); return temp; } catch { return ""; } } sql端…
实现效果: 图一: 图二: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGVzdGNzX2Ru/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" /> 此例中输入的中文字符串"万万保重",有三个字是多音字.所以alert对话框中显示的是多种读音的组合. 怎样实现? 怎样实现通过拼音首字母高…
//php获取中文字符拼音首字母 function getFirstCharter($str){ if(empty($str)){ return ''; } $fchar = ord($str{0}); if($fchar >= ord('A') && $fchar <= ord('z')){ return strtoupper($str{0}); } $s1=iconv('UTF-8','gb2312',$str); $s2=iconv('gb2312','UTF-8',$s…
第一种: 这个是自己写的比较简单的实现方法,要做汉字转拼音首字母,首先应该有一个存储首字母的数组,然后将要转拼音码的汉字与每个首字母开头的第一个汉字即“最小”的汉字作比较,这里的最小指的是按拼音规则比较最小,例如a比h小,所以“爱”比“恨”小,同一个字母开头的拼音比较大小以此类推.最后实现的结果是只转汉字,对于中文特殊字符.标点符号和英文都原样输出,不转码. 实现方法如下: using System; using System.Collections.Generic; using System.…
  excel 获取中文拼音首字母 CreateTime--2018年5月31日08:50:42 Author:Marydon 1.情景展示 想要获取姓名的拼音首字母 2.实现方式 通过使用excel的宏命令来实现 第一步:开启宏命令: 第二步:创建宏命令 切换到宏视图 插入-->模块 将下面代码粘贴到弹出的模块命令窗口 Function pinyin(p As String) As String i = Asc(p) Select Case i Case - To -: pinyin = &quo…