我有一些数据存储为无符号 tinyint。显示它时,我希望它仅在长度为 1 位时才用零填充。LPAD(CAST(NUMBER AS CHAR CHARSET UTF8),2,'0')
当我有三位数长号码时,我遇到了问题。我怎样才能得到我要找的东西?
表中数据示例:
NUMBER
1
2
3
...
10
11
...
101
102
使用 LPAD 运行时我目前得到的结果
LPAD_NUMBER
01
02
03
...
10
11
...
10
10
我想要的是
UNKNOWN
01
02
03
...
10
11
...
101
102
我使用的解决方案
select case
when number between 0 and 9 then
LPAD(CAST(number AS CHAR CHARSET UTF8), 2, '0')
else
CAST(number AS CHAR CHARSET UTF8)
end as newNum;
这让我得到了我正在寻找的东西,并且基于已接受的答案。