Sql oracle中的LPAD返回超过6个字符

Sql oracle中的LPAD返回超过6个字符,sql,oracle,Sql,Oracle,下面的查询 select lPAD('abcdef', 6, '0') from dual; 输出为abcdef select lPAD('abcdefij', 6, '0') from dual; 输出为abcdef,但应为abcedfijLPAD或RPAD表示输出的最大长度为您指定的值。因此,额外的字符将被修剪。这句格言就像保持长度始终与我给予的价值保持一致。向其添加此字符或修剪源 所以,我想你需要这个 SELECT CASE WHEN LENGTH(your_string) <

下面的查询

select lPAD('abcdef', 6, '0') from dual;
输出为
abcdef

select lPAD('abcdefij', 6, '0') from dual;

输出为
abcdef
,但应为
abcedfij
LPAD
RPAD
表示输出的最大长度为您指定的值。因此,额外的字符将被修剪。这句格言就像保持长度始终与我给予的价值保持一致。向其添加此字符或修剪源

所以,我想你需要这个

SELECT
  CASE WHEN LENGTH(your_string) < 6 THEN
       lPAD(your_string, 6, '0')
       ELSE your_string
  END
FROM DUAL
选择
当长度(您的_字符串)小于6时,则为
lPAD(您的_字符串,6,'0')
否则你的线
结束
来自双重

它只返回预期的6个字符。你一定做错了什么事。我更新鲜。。。需要帮助吗?plzi想要什么样的
abcedfij