MySQL零填充的int和ifnull

时间:2015-01-14 14:00:32

标签: mysql

可能是一个奇怪的组合,但我有一个查询包括:

SELECT IFNULL(`active`.`num`, `generic`.`num`) AS `num` ...

`active``generic`都是此查询中同一个表的别名,但`active`根据用户选择加入`num`来选择,而`generic` 1}}是一个任意的(通常是第一个,因为这就是GROUP BY的工作方式)如果没有选择特定的那个将会显示。

无论如何,`num`SMALLINT(3) UNSIGNED ZEROFILL列,但在输出中ZEROFILL丢失 - 无论是否满足IFNULL条件,都会发生这种情况。< / p>

这可能是MySQL中的一个错误,但我该怎么做呢?

1 个答案:

答案 0 :(得分:1)

是否可以选择添加 LPAD

SELECT LPAD(IFNULL(`active`.`num`, `generic`.`num`), 3, '0') AS `num` ...