在数据库中有个字段名字叫testNumber他是数值类型的,长度为6位,但是值不一定为六位(可能有1,2,3,4,5,6位)。我现在想截取此字段的值,将前四位取出来,后两位取出来,但是如果值的位数不够六位想用0在前面补齐到六位。然后再截。
例如;testNumber的值是1234
      我想要的结果为:0012,34(逗号不用管)。
      testNumber的值是1
      我想要的结果为:0000,01哪位大哥能帮帮忙,真的很急啊!小弟在此谢过了!!!

解决方案 »

  1.   

    select mid(1000000+testNumber,2,4),mid(1000000+testNumber,6) from table1
      

  2.   

    select right(concat(REPEAT('0',6),testNumber),6) from tt
      

  3.   

    mysql> select * from ded;
    +------+--------+
    | id   | num    |
    +------+--------+
    |    1 |    123 |
    |    2 | 123456 |
    |    3 |      1 |
    |    4 |      2 |
    |    5 |     34 |
    +------+--------+
    5 rows in set (0.00 sec)mysql> select concat(left(right(concat('000000',num),6),4),',',right(right(concat('000000',num),6),2)) as tt from ded;
    +---------+
    | tt      |
    +---------+
    | 0001,23 |
    | 1234,56 |
    | 0000,01 |
    | 0000,02 |
    | 0000,34 |
    +---------+
    5 rows in set (0.00 sec)还是狼头的方法好.o(∩_∩)o 
      

  4.   

    select concat(repeat('0',6-length(testNumber)),testNumber) from table1;