MySQL按照某一列的首个字符排序(拼音排序)

高速链接

百度一下MySql怎么截取字符串,找到LEFT函数、RIGHT函数以及SUBSTRING函数。

前言

今天在做按照拼音将下拉框排序的时候,需要按照拼音首字母排序,胡乱搜了一通,搜到了截取字符串的函数.

我数据库中的数据,有对用的拼音字段,但是直接用order by会因为拼音的长度不一导致顺序不理想,所以就用ORDER BY LEFT(column_py, 1)就好了.

另外呢,顺带了解了一下,MySql是支持自己定义函数的,不过可惜,这次没用上,下次吧QAQ.

至于如何根据中文字符生成对应的拼音,Java的话可以用pinyin4j。

函数说明

1、left(str,length) 从左边截取length

2、right(str,length)从右边截取length

3、substring(str,index)当index>0从左边开始截取直到结束  当index<0从右边开始截取直到结束  当index=0返回空

4、substring(str,index,len) 截取str,从index开始,截取len长度

5、substring_index(str,delim,count),str是要截取的字符串,delim是截取的字段 count是从哪里开始截取(为0则是左边第0个开始,1位左边开始第一个选取左边的,-1从右边第一个开始选取右边的

6、subdate(date,day)截取时间,时间减去后面的day

7、subtime(expr1,expr2)  时分秒expr1-expr2

发布了74 篇原创文章 · 获赞 23 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/shenshaoming/article/details/103976287