mysql按字段值排序_mysql按字段值排序

1.mysql按字段值的拼音首字母排序

关键词binary :SELECT name FROM topic ORDER BYbinary name asc

2.php获取汉字拼音的第一个字母

直接调用下面的函数即可。如,echo getinitial("丹");

function getinitial($str){   $asc=ord(substr($str,0,1));    if($asc<160) //非中文    {       if ($asc>=48 &&$asc<=57){           return '1';  //数字       }elseif ($asc>=65 &&$asc<=90){           return chr($asc);   // A--Z       }elseif ($asc>=97 &&$asc<=122){           return chr($asc-32); // a--z       }else{           return '~'; //其他       }    }   else   //中文    {       $asc=$asc*1000+ord(substr($str,1,1));       //获取拼音首字母A--Z       if ($asc>=176161 &&$asc<176197){           return 'a';       }elseif ($asc>=176197&&$asc<178193){           return 'b';       }elseif ($asc>=178193&&$asc<180238){           return 'c';       }elseif ($asc>=180238&&$asc<182234){           return 'd';       }elseif ($asc>=182234&&$asc<183162){           return 'e';       }elseif ($asc>=183162&&$asc<184193){           return 'f';       }elseif ($asc>=184193&&$asc<185254){           return 'g';       }elseif ($asc>=185254&&$asc<187247){           return 'h';       }elseif ($asc>=187247&&$asc<191166){           return 'j';       }elseif ($asc>=191166&&$asc<192172){           return 'k';       }elseif ($asc>=192172&&$asc<194232){           return 'l';       }elseif ($asc>=194232&&$asc<196195){           return 'm';       }elseif ($asc>=196195&&$asc<197182){           return 'n';       }elseif ($asc>=197182&&$asc<197190){           return 'o';       }elseif ($asc>=197190&&$asc<198218){           return 'p';       }elseif ($asc>=198218&&$asc<200187){           return 'q';       }elseif ($asc>=200187&&$asc<200246){           return 'r';       }elseif ($asc>=200246&&$asc<203250){           return 's';       }elseif ($asc>=203250&&$asc<205218){           return 't';       }elseif ($asc>=205218&&$asc<206244){           return 'w';       }elseif ($asc>=206244&&$asc<209185){           return 'x';       }elseif ($asc>=209185&&$asc<212209){           return 'y';       }elseif ($asc>=212209){           return 'z';       }else{           return '~';       }    }}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值