# ABAP SQL 字符串处理-CONCAT&CAST

这篇具有很好参考价值的文章主要介绍了# ABAP SQL 字符串处理-CONCAT&CAST。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

经常我都要在ABAP的sql语句中对字符串进行处理,现在就总结一下可以用到的方法

字符串处理

在SQL语句中,有时候会有需要拼接字段或者是截取字段

拼接字段

在拼接之前:

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

cl_demo_output=>display( lt_sflight ).

运行结果

# ABAP SQL 字符串处理-CONCAT&CAST,SAP,ABAP,ABAP,sql
第一种:concat(A, 字段) as 别名 ----- A 可以为自定义字段
第二种:(C && B ) AS 别名 ---- 注意,B与C都是需要为char类型才能使用这个

SELECT
  carrid, "航线
  connid, "航班号
  substring( fldate,1,4 ) AS fldate, "日期
  ( 'CHAR类型拼接' && planetype ) AS planetype1, "飞机类型
  concat( 'CONCAT拼接',planetype ) AS planetype2 "飞机类型
  FROM sflight
  WHERE connid = '17'
  INTO TABLE @DATA(lt_sflight2).
cl_demo_output=>display( lt_sflight2 ).

# ABAP SQL 字符串处理-CONCAT&CAST,SAP,ABAP,ABAP,sql

填充字符串

RPAD( arg, len, src ) ,三个参数分别指定了操作字段;填充后值的长度;填充字符
RPAD函数:从右侧填充
# ABAP SQL 字符串处理-CONCAT&CAST,SAP,ABAP,ABAP,sql

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

cl_demo_output=>display( lt_sflight ).

运行结果

# ABAP SQL 字符串处理-CONCAT&CAST,SAP,ABAP,ABAP,sql

截取字符串 SUBSTRING

SUBSTRING函数截取任意位置任意长度的字符串

取截取后的三位内容作为一个新的字段,放进内表中

 SELECT
  marc~werks, "工厂
  substring( marc~matnr,3,5 ) AS matnr_t"物料,截取之后的
  FROM marc
  WHERE marc~werks = '1000'
  INTO TABLE @DATA(lt_temp3)
  UP TO 5 ROWS.

  IF sy-subrc = 0.
    cl_demo_output=>display( lt_temp3 ).
  ENDIF.

运行结果

# ABAP SQL 字符串处理-CONCAT&CAST,SAP,ABAP,ABAP,sql
SPACE是ABAP的预定义的字段,
# ABAP SQL 字符串处理-CONCAT&CAST,SAP,ABAP,ABAP,sql

CAST转换类型

ZCHAR是CHAR13类型的字段,CON是planetype字段转换成CHAR类型,长度是20:
# ABAP SQL 字符串处理-CONCAT&CAST,SAP,ABAP,ABAP,sql

程序

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

运行结果

# ABAP SQL 字符串处理-CONCAT&CAST,SAP,ABAP,ABAP,sql

CAST 转换成 DATS类型(日期)

# ABAP SQL 字符串处理-CONCAT&CAST,SAP,ABAP,ABAP,sql文章来源地址https://www.toymoban.com/news/detail-853717.html

到了这里,关于# ABAP SQL 字符串处理-CONCAT&CAST的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SQL字符串拼接

    ①CONCAT() 拼接字符串基本型: SELECT CONCAT ( lastname , firstname) AS student_name FROM kalacloud_student; ②使用空格拼接字符串: 仍然使用 SELECT CONCAT() 命令,空格需要使用\\\' \\\' 两个单引号引起来。SELECT CONCAT(firstname, \\\' \\\', subject) AS studentDetail FROM kalacloud_student; ③使用特殊符号拼接字符串: S

    2024年02月17日
    浏览(46)
  • sql 语句 字段字符串操作

    substring_index() 函数 字符串截取 参考大神博客 replace() 字符串替换 ROUND() 函数 保留多少位小数 参考大神博客 locate() 函数 判断某个字段属性值是否包含某个字符串 concat() 函数 字段属性值连接 case when then else 参考大神博客

    2024年02月13日
    浏览(41)
  • 第五章 使用 SQL Search - 验证 SQL 搜索项字符串

    可以使用 %iFind.Utils.TestSearchString() 在方法来验证 search_items 字符串。此方法使能够检测语法错误和逻辑运算符的不明确使用。例如, “word1 AND word2 OR word3” 未通过验证,因为它在逻辑上不明确。添加括号可将此字符串澄清 为“word1 AND (word2 OR word3)”或“(word1 AND word2) OR word3”

    2024年01月23日
    浏览(45)
  • Sql 函数传递参数 字符串拼接

    使用场景 一个计算价格的函数,多个存储过程调用,因业务需求经常要新增参数,避免修改函数时程序执行存储过程报错,将多个参数拼接为一个字符串传递

    2024年02月10日
    浏览(49)
  • 「SAP ABAP」OPEN SQL(十)【SQL性能优化(一)】

    💂 作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学本科在读,同时任汉硕云(广东)科技有限公司ABAP开发顾问。在学习工作中,我通常使用偏后端的开发语言ABAP,SQL进行任务的完成,对SAP企业管理系统,SAP ABAP开发和数据库具有较

    2023年04月16日
    浏览(42)
  • SQL Server截取字符串函数操作

    目录 1、SUBSTRING()函数 2、LEFT()函数  3、RIGHT()函数  4、CHARINDEX()函数  5、LEN函数 1、SUBSTRING()函数         含义:从指定位置开始截取指定数量的字符。         使用:SUBSTRING( 原字符 , 截取字符的起始位置 , 截取字符数量 )         举例:                 1、 截取字

    2024年02月01日
    浏览(56)
  • [SQL挖掘机] - 字符串函数 - lower

    lower函数是mysql中的一个字符串函数,其作用是将给定的字符串转换为小写形式。它接受一个字符串作为参数,并返回一个新的字符串,其中所有的字母字符均被转换为小写形式。 使用lower函数可以帮助我们在字符串处理中实现标准化和规范化。 完整的函数语法如下: 其中,

    2024年02月15日
    浏览(37)
  • Oracle切割字符串的方法,SQL语句完成。

    Oracle用正则的方式循环切割字符串 需求:有一个这样子的 Str = “‘CNJ-520-180500000001|CNJ-520-181200000001|CNJ-520-190300000001|CNJ-520-190100000001|CNJ-520-181200000002’” ,然后我需要拿到每一个单号,每一个单号都要走一遍固定的逻辑。 方法: 我们需要使用oracle中的 正则表达式 进行字符匹

    2024年02月12日
    浏览(46)
  • SQL SERVER日期与字符串之间的转换

    本文导读:在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的。下面主要就介绍一下SQL Server日期时间转字符串的相关知识 一、日期转换为字符串、日期格式 1、使用函数CONVERT: 2、参数 expression :是任

    2024年02月10日
    浏览(51)
  • SQL常用替换字符串值的5种方法

    sql中的替换分为三种:1、查询替换;2、更新替换;3新增替换; 下面5个方法函数主要用于实现查询替换,当然update更新也是同样道理 常用替换函数           1、COALESCE() 2、decode()   3、NVL() 4、 replace()  5、 case when

    2024年02月16日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包