普通字段返回像zerofill字段

时间:2015-02-06 12:13:46

标签: mysql

我在mySql数据库中有一个数字字段,我需要" concat"它与另一个数字字段,但我需要第二个字段作为zerofill返回,以保持结果的排序。

我试着解释一下:

  • 第一场= 2015;第二场= 3 Concat_WS = 2015_3;
  • 第一场= 2015;第二场= 10 Concat_WS = 2015_10

所以保持正确的秩序 谢谢大家

如果我订购结果2015_10将在2015_3之前

所以我想知道是否有办法获得

  • 第一场= 2015;第二场= 3 Concat_WS = 2015_03;
  • 第一场= 2015;第二场= 10 Concat_WS = 2015_10

因此保留正确的顺序而不改变zerofill中的字段。 谢谢大家

2 个答案:

答案 0 :(得分:0)

第二种方式是正确的(填充第二个字段为零),否则您可以单独订购两个字段,如下所示:

SELECT concat(FirstField, '_', SecondField)
FROM yourtable
ORDER BY FirstField, SecondField

不添加零来填充第二个字段。

答案 1 :(得分:0)

您可以使用lpad()

concat_ws('_', field1, lpad(field2, 2, '0'))

如果这些字段来自日期,则应使用date_format()代替:date_format(col, '%Y-%m')