ABAP SQL 拼字段(concat),截取字段的用法(substring)新增自定义字段( CAST)添加前导零(LPAD)

在SQL语句中,有时候会有需要拼接字段或者是截取字段,那我们如何实现呢。
一、干货
1.拼接字段
第一种: concat( A , 字段 ) AS 别名 — A 可以为自定义字段
第二种: ( C && B ) AS 别名 ---- 注意,B与C都是需要为char 类型才能使用这个

2.截取字段
substring( fldate,1,4 ) AS fldate,

3.添加字段: CAST( planetype AS CHAR( 20 ) ) AS 别名

4.自适应添加前导零 :lpad( 字段 , 10 ,‘0’ ) AS 别名

5.concat 在sql链表数据的使用方法,一定要在左边
二、简单实例

SELECT carrid,   "航线
       connid,   "航班号
       fldate,   "日期
       planetype "飞机类型
  FROM sflight
  WHERE connid = '1'
  INTO TABLE @DATA(lt_sflight).

cl_demo_output=>display( lt_sflight ).

SELECT carrid,   "航线
       connid,   "航班号
       substring( fldate,1,4 ) AS fldate,   "日期截取年份
      ( 'CHAR类型拼接' && planetype  ) AS con, 
       concat(  'CONCAT拼接'  , planetype ) AS planetype
  FROM sflight
 WHERE connid = '1'
  INTO TABLE @DATA(lt_sflight_contrast).

cl_demo_output=>display( lt_sflight_contrast ).

另外:新增或者强转类型CAST

SELECT carrid,   "航线
       connid,   "航班号
       substring( fldate,1,4 ) AS fldate,   "日期截取年份
      CAST(  planetype AS CHAR( 20 ) ) AS con, "把planetype的值取出来,放在 con字段中。con字段为 CHAR 类型,长度为20
        CAST( @space AS CHAR( 13 ) ) AS zchar "新增为char 13的字段
  FROM sflight
 WHERE connid = '1'
  INTO TABLE @DATA(lt_sflight_contrast).

结果展示
第一sql语句
在这里插入图片描述
第二个SQL语句展示
在这里插入图片描述
自适应添加前导零

SELECT carrid,   "航线
       connid,   "航班号
       lpad( connid , 10 ,'0' ) AS connid_0 "在前面添加前导零,填充到总长度为10为止
  FROM sflight
  INTO TABLE @DATA(lt_LPAD).
IF sy-subrc = 0.
  cl_demo_output=>display( lt_LPAD ).
ENDIF.

结果:connid_0 字段10的长度,填充满0了
在这里插入图片描述
concat 在sql链表数据的使用方法,一定要在左边

SELECT * FROM RSEG 
INNER JOIN BKPF 
ON CONCAT( RSEG~BELNR, RSEG~GJAHR ) = BKPF~AWKEY 
INTO TABLE @data(target). 

好了通过实例的认证,我们基本掌握了这两个语法,今天的分享就到这了。
分享使我快乐,我是寒武青锋。
在这里插入图片描述
记得点赞哈

  • 27
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值