取标题字段的前12个汉字,当有英文或数字的时候按半个汉字算。mysql的substring默认是不管字母还是数字还是汉字,一个就是一个,造成我截取的标题长度不同。
不要用php实现,那个我会,这里只问用mysql自己的方法实现。
达到的效果如下中国是一个强大的国家0501
中国不是一个强大的国家01
中国很强大20110501helloy看到这三个标题都很整齐吧,就是要这个效果(要12个汉字长度)。
我现在用substring(subject,1,12),达不到效果另外此帖答案不正确(还未结贴),求正解
http://topic.csdn.net/u/20110513/12/674a2414-4e80-4561-a0ac-e778c7d1f554.html

解决方案 »

  1.   

    mysql的char varchar是按照字符来的 不是按照字节来的
      

  2.   

    可以实现,但要先知道你用的什么字符集。 
     (不要高估你的汉语表达能力或者我的汉语理解能力)
       建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
       
       1. 你的 create table xxx .. 语句
       2. 你的 insert into xxx ... 语句
       3. 结果是什么样,(并给以简单的算法描述)
       4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。   
      

  3.   

    mysql5.0.45 gbk字符集
    要截取20个汉字长度的字段是gbk_chinese_ci
      

  4.   

    如果非要什么测试数据的话下面每行算一条记录在mysql中有没有分割字符串的函数?详情见内!100分求解 ... 
    不知道在mysql存储过程如何取num的第1位是否有left(num ,1)
     - 其他 ... 我想把一个oracle的查询转成mysql的,不知道这
    里有没有高手帮我实现 ... 在字符串中删除子字符串,请高手解答。
     - 其他数据库开发/ MySQL/Postgresql 请问怎样做一个类来实现连接数据库服务器
    ! - .NET技术/ C# 如何是mysql支持多字节? - 其他数据库开发/ MySQL/Postgresql 每行算一条记录,要求截断12个汉字长度,要齐刷刷的。