# ABAP SQL 字符串处理

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

文章目录

  • 字符串处理
    • 拼接字段
      • 运行结果
    • 填充字符串
      • 运行结果
    • 截取字符串 SUBSTRING
      • 运行结果
    • CAST转换类型
      • 程序
      • 运行结果

字符串处理

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

拼接字段

在拼接之前:

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

cl_demo_output=>display( lt_sflight ).

运行结果

在这里插入图片描述
第一种: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 ).

在这里插入图片描述

填充字符串

RPAD( arg, len, src ) ,三个参数分别指定了操作字段;填充后值的长度;填充字符
RPAD函数:从右侧填充
在这里插入图片描述

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 ).

运行结果

在这里插入图片描述

截取字符串 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.

运行结果

在这里插入图片描述
SPACE是ABAP的预定义的字段,
在这里插入图片描述

CAST转换类型

ZCHAR是CHAR13类型的字段,CON是planetype字段转换成CHAR类型,长度是20:
在这里插入图片描述

程序

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 ).

运行结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/528865.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【iOS ARKit】AR Quick Look 概述

为更好地传播共享 AR 体验,苹果公司引入了 AR Quick Look,并在iOS 12及以上版本系统中深度集成了 AR Quick Look,因此可以通过iMessage、Mail、Notes、 News、 Safari 和 Files 直接体验 AR,AR Quick Look提供了在 iPhone 和iPad …

B02、分析GC日志-6.3

1、相关GC日志参数 -verbose:gc 输出gc日志信息,默认输出到标准输出-XX:PrintGC 输出GC日志。类似:-verbose:gc-XX:PrintGCDetails 在发生垃圾回收时打印内存回收详细的日志, 并在进程退出时输出当前内存各区域分配情况-XX:PrintGCTimeStamp…

【第二十七篇】几款配合Burpsuite使用的Google插件(Wappalyzer、FindSomething、FOFAproView等)

文章目录 WappalyzerFindSomethingFOFA Pro ViewsuperSearchPluswayback machinesource detecotorX-Forwarded-For Header以下插件均在Google应用商店中下载 Wappalyzer Wappalyzer是一个用于识别网站所使用的技术和工具的浏览器扩展程序。它能够检测出网站所使用的内容管理系…

2024年生成式人工智能的现状:进展、挑战与未来展望的深入分析

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

主流三种驱动器方案特点简介

三种执行器原理相似,但在结构和部件上略有区别,因此在精度、响应速度等指标上 呈现不同效果: (1)TSA(刚性驱动器):常规高速电机高传动比减速机高刚度力矩传感器,减 速机…

Java入门基础知识第九课——二维数组

前面二白讲了关于一维数组的相关知识和操作,Java中的二维数组本质上是每个一维数组都包含一个或多个元素,其中每个元素都代表二维数组中的一个元素。二维数组一般应用在矩阵的一些运算、二维数据的处理、图表的绘制、数据库的存储等方面。特别是在处理数…

运筹学基础(六)列生成算法(Column generation)

文章目录 前言从Cutting stock problem说起常规建模Column generation reformulation 列生成法核心思想相关概念Master Problem (MP)Linear Master Problem (LMP)Restricted Linear Master Problem (RLMP)subproblem(核能预警,非常重要) 算法…

【学习】软件测试中,我们为什么要进行系统测试

软件测试中的系统测试是一个关键环节,它主要是通过测试整个系统来验证软件是否满足需求规格说明书中的要求。在软件开发周期的后期,系统测试扮演着非常重要的角色,因为它可以发现并纠正软件中存在的错误和缺陷,确保软件的质量和稳…

Google视觉机器人超级汇总:从RT、RT-2到AutoRT/SARA-RT/RT-Trajectory、RT-H

前言 随着对视觉语言机器人研究的深入,发现Google的工作很值得深挖,比如RT-2 ​想到很多工作都是站在Google的肩上做产品和应用,​Google真是科技进步的核心推动力,做了大量大模型的基础设施,服(推荐重点关注下Googl…

P1731 [NOI1999] 生日蛋糕——典型的回溯和剪枝题目,值得一看

今天尝试了一下md的编辑器,不知道有没有什么改变 [NOI1999] 生日蛋糕 题目背景 数据加强版 link 题目描述 7 月 17 日是 Mr.W 的生日,ACM-THU 为此要制作一个体积为 N π N\pi Nπ 的 M M M 层生日蛋糕,每层都是一个圆柱体。 设从下往…

scrapy 爬取m3u8视频

scrapy 爬取m3u8视频 【一】效果展示 爬取ts文件样式 合成的MP4文件 【二】分析m3u8文件路径 视频地址:[在线播放我独自升级 第03集 - 高清资源](https://www.physkan.com/ph/175552-8-3.html) 【1】找到m3u8文件 这里任务目标很明确 就是找m3u8文件 打开浏览器…

鸿蒙OS开发实战:【自动化测试框架】使用指南

概述 为支撑HarmonyOS操作系统的自动化测试活动开展,我们提供了支持JS/TS语言的单元及UI测试框架,支持开发者针对应用接口进行单元测试,并且可基于UI操作进行UI自动化脚本的编写。 本指南重点介绍自动化测试框架的主要功能,同时…

基于Java+SpringBoot+Vue文学名著分享系统(源码+文档+部署+讲解)

一.系统概述 随着世界经济信息化、全球化的到来和互联网的飞速发展,推动了各行业的改革。若想达到安全,快捷的目的,就需要拥有信息化的组织和管理模式,建立一套合理、动态的、交互友好的、高效的文学名著分享系统。当前的信息管理…

深入探索实时音视频技术:RTC程序设计权威指南

💂 个人网站:【 摸鱼游戏】【神级代码资源网站】【工具大全】🤟 一站式轻松构建小程序、Web网站、移动应用:👉注册地址🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交…

BUUCTF刷题十一道(12)SSTI专题一

文章目录 学习文章[Flask]SSTI[GWCTF 2019]你的名字[第三章 web进阶]SSTI[pasecactf_2019]flask_ssti[NewStarCTF 公开赛赛道]BabySSTI_One[Dest0g3 520迎新赛]EasySSTI[NewStarCTF 公开赛赛道]BabySSTI_Two[NewStarCTF 公开赛赛道]BabySSTI_Three[GYCTF2020]FlaskApp[CSCCTF 2…

java基础语法(13)

1. final关键字 final概述 学习了继承后,我们知道,子类可以在父类的基础上改写父类内容,比如,方法重写。那么我们能不能随意的继承API中提供的类,改写其内容呢?显然这是不合适的。为了避免这种随意改写的情…

关于转义符 \ 在php正则中的匹配问题

今天做题遇到一个很经典的问题&#xff0c;记录一下&#xff0c;先看一段代码 <?php $str&#xff0c;&#xff0c;"\\"; $pattern&#xff0c;&#xff0c;"/\\/"; if(preg_match($partern,$str,$arr)) { &#xff0c;&#xff0c;&#xff0c;&…

结构型模式--1.适配器模式【托尼托尼·乔巴】

1. 翻译家 在海贼王中&#xff0c;托尼托尼乔巴&#xff08;Tony Tony Chopper&#xff09;是草帽海贼团的船医&#xff0c;它本来是一头驯鹿&#xff0c;但是误食了动物系人人果实之后可以变成人的形态。 乔巴吃了恶魔果实之后的战斗力暂且抛开不谈&#xff0c;说说它掌握的第…

金仓数据库Kingbase的数据库开发管理工具KStudio连接乱码

背景&#xff1a; 金仓数据库V8R6&#xff0c;KStudio在Windows10上运行&#xff0c;JDK8 问题&#xff1a; 使用客户端连接数据库时&#xff0c;提示信息乱码&#xff0c;首选项设置字符集不管用&#xff0c;具体如下图所示&#xff1a; Before&#xff1a; After&#xff1…

018——红外遥控模块驱动开发(基于HS0038和I.MX6uLL)

目录 一、 模块介绍 1.1 简介 1.2 协议 二、 驱动代码 三、 应用代码 四、 实验 五、 程序优化 一、 模块介绍 1.1 简介 红外遥控被广泛应用于家用电器、工业控制和智能仪器系统中&#xff0c;像我们熟知的有电视机盒子遥控器、空调遥控器。红外遥控器系统分为发送端和…