1

我想在操作后将字符串修复为 20 个字符的长度。例如,如果我的字符串是,1455那么新字符串应该是(20 个字符) ,前面00000000000000001455有 16秒。0或者,如果我的字符串是,12345678那么新字符串应该是00000000000012345678(20 个字符)0,前面有 12 秒。

我可以在用户定义的函数中做到这一点,但我想知道在 Oracle 中是否有一种简单的方法来做到这一点?我用谷歌搜索但找不到任何类似的解决方案。有什么建议么?

4

3 回答 3

2

像这样做:

select lpad('1455',20,'0') from dual;
于 2018-04-26T13:54:18.433 回答
1

您可以使用LPAD()

SELECT LPAD('1455', 20, '0') FROM dual;

或一般来说:

SELECT LPAD(mystring, 20, '0') FROM mytable;

如果 的长度mystring大于 20 个字符,它将被截断为 20 个字符(而不是填充!)。

希望这可以帮助。

于 2018-04-26T13:57:58.957 回答
0

你可以使用TO_CHAR

SELECT TO_CHAR('1455', 'fm00000000000000000000') FROM dual;

DBFiddle 演示

于 2018-04-26T13:53:17.933 回答