二维码

[基础语法] SQL中长度不一致字段关联,使用lpad或rpad函数补齐前导零

Twilight发表于 2026-04-29 13:39Twilight 最后回复于 2026-04-29 13:39 [复制链接] 5 0

LPAD( expr,len,src )
left,从左边开始补充前导零,expr 字段,len 字段希望调整的总长度,src 不足希望的长度,从左边开始补充字符串
RPAD( expr,len,src )
reft,从左边开始补充前导零,expr 字段,len 字段希望调整的总长度,src 不足希望的长度,从右边开始补充字符串

举例:
  1.   SELECT matdoc~kalnr,
  2.          mldoc~process,
  3.          matdoc~sakto,
  4.          matdoc~vbeln_im,
  5.          matdoc~vbelp_im,
  6.          SUM( CASE WHEN shkzg = 'H' THEN -1 * matdoc~menge ELSE matdoc~menge END ) AS menge,
  7.          matdoc~meins
  8.     FROM matdoc
  9.     INNER JOIN mldoc ON matdoc~mjahr = mldoc~aworg AND matdoc~mblnr = mldoc~awref AND lpad( matdoc~zeile,6,'0' ) = mldoc~awitem AND mldoc~curtp = '10'
  10.     WHERE matdoc~gjper = @p_ymper
  11.       AND matdoc~sakto = '0014070000'
  12.       AND matdoc~werks IN @lr_bwkey
  13.       AND matdoc~menge IS NOT INITIAL
  14.       AND matdoc~bwart IN ( '643','644','673','674' )
  15.     GROUP BY matdoc~kalnr,mldoc~process,matdoc~sakto,matdoc~vbeln_im,matdoc~vbelp_im,matdoc~meins
  16.     INTO TABLE @DATA(lt_matdoc).
复制代码
回复

使用道具 举报

快速回帖

本版积分规则
您需要登录后才可以回帖 登录 | 注册有礼

快速回复 返回顶部 返回列表