oracle中是否有任何功能可以保持字符串长度固定?

Mis*_*u4u 3 sql oracle

我有一个场景,比如当一个列值超过 10 个字符的长度时,我只需要为 10 个字符(最左边)取一个子字符串,但如果它短于它应该用零填充。我尝试了以下方法:

with data1 as (select '1234567890123' as dummy1 from dual) select CASE when (length(dummy1)>10) then substr(dummy1,1,10) else lpad(dummy1,10,'0') end from data1;

但这对我来说似乎是一种更长的方法。有没有更短的方法来实现这一点,也许是 Oracle 功能?

我试图谷歌这个,但找不到任何相关的结果。

lsa*_*mon 5

lpad 足以完成这项工作:

SELECT LPAD( '1234567890123', 10, '0' ) AS formatted FROM dual;