谁能告诉我如何编写达到这个效果

lkjlnet 2015-08-10 09:16:12
我的数据库里的一个表里的数据如下:
id name
1 马云
2 张云
3 张三
4 李国
5 李四
6 马二
7 粟裕逸
8 麻七
9 朱小红

我要实现的时输出的效果如下

M
马云
马二
麻七
L
李国
李四
粟裕逸
Z
张云
张三
朱小红


请问如何编写这程序?
...全文
183 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
snlixing 2015-08-20
  • 打赏
  • 举报
回复
加个字母字段标识出来是最简单的
小菜鸟czh 2015-08-20
  • 打赏
  • 举报
回复
如果可以的话 加个拼音字段是最好的
l879258 2015-08-14
  • 打赏
  • 举报
回复
把数据库里的这个表的字段如下: id name flag 1 马云 M 2 张云 Z 3 张三 Z 4 李国 L 5 李四 L 6 马二 M 类似这样的,取的时候在分类,不是也可以达到效果吗
lirenbing008 2015-08-11
  • 打赏
  • 举报
回复

BEGIN 
    DECLARE V_RETURN VARCHAR(255);
    DECLARE V_BOOL INT DEFAULT 0;
          DECLARE FIRST_VARCHAR VARCHAR(1);
 
    SET FIRST_VARCHAR = left(CONVERT(P_NAME USING gbk),1);
    SELECT FIRST_VARCHAR REGEXP '[a-zA-Z]' INTO V_BOOL;
    IF V_BOOL = 1 THEN
      SET V_RETURN = FIRST_VARCHAR;
    ELSE
      SET V_RETURN = ELT(INTERVAL(CONV(HEX(left(CONVERT(P_NAME USING gbk),1)),16,10),   
          0xB0A1,0xB0C5,0xB2C1,0xB4EE,0xB6EA,0xB7A2,0xB8C1,0xB9FE,0xBBF7,   
          0xBFA6,0xC0AC,0xC2E8,0xC4C3,0xC5B6,0xC5BE,0xC6DA,0xC8BB,  
          0xC8F6,0xCBFA,0xCDDA,0xCEF4,0xD1B9,0xD4D1),   
      'A','B','C','D','E','F','G','H','J','K','L','M','N','O','P','Q','R','S','T','W','X','Y','Z');  
    END IF;
    RETURN V_RETURN;
END
这个是sql function , 然后使用这个function 然后order by 这东西就好了。。
码无边 2015-08-11
  • 打赏
  • 举报
回复
汉字分词 转化拼音

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧