Eva*_*oll 7 postgresql cast number-formatting string-representation
当我使用099指示 0 填充的 3 位数字时,我会在左侧得到空格。
SELECT '>' || to_char(1, '099') || '<';
?column?
----------
> 001<
(1 row)
Run Code Online (Sandbox Code Playgroud)
为什么to_char这里是左填充?为什么会有前导空格?
Eva*_*oll 11
你可以在这里看到一个更简单的测试用例
SELECT '>' || to_char(1, '0') || '<';
?column?
----------
> 1<
(1 row)
Run Code Online (Sandbox Code Playgroud)
这是因为,正如@Abelisto 所说,空间是为符号字形保留的,
SELECT '>' || to_char(-1, '0') || '<';
?column?
----------
>-1<
(1 row)
Run Code Online (Sandbox Code Playgroud)
您可以使用FM, 从文档中抑制符号
Modifier Description Example
FM prefix fill mode (suppress leading zeroes and padding blanks) FM9999
Run Code Online (Sandbox Code Playgroud)
所以你想要的是
SELECT '>' || to_char(1, 'FM099') || '<';
Run Code Online (Sandbox Code Playgroud)
当您要求它们时,零不会被抑制 FM0
| 归档时间: |
|
| 查看次数: |
3229 次 |
| 最近记录: |