# ABAP SQL 字符串处理

news2024/12/22 15:03:33

经常我都要在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.coloradmin.cn/o/1581728.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java 集合Collection

集合的体系 Collection的结构体系 List系列集合:添加的元素是有序的、可重复、有索引。Set系列集合:无序、不重复、无索引 HashSet:无序、不重复、无索引LinkedHashSet:有序、不重复、无索引TreeSet:按照大小默认升序排序、不重复…

ES6基础(JavaScript基础)

本文用于检验学习效果,忘记知识就去文末的链接复习 1. ECMAScript介绍 ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会,英文名称是European Computer Manufacturers Association)通过ECMA-262标准化的脚本程序设计语言…

SRNIC、选择性重传、伸缩性、连接扩展性、RoCEv2优化(六)

参考论文SRDMA(A Scalable Architecture for RDMA NICs ):https://download.csdn.net/download/zz2633105/89101822 借此,对论文内容总结、加以思考和额外猜想,如有侵权,请联系删除。 如有描述不当之处&…

Python中大的一把锁

今天可以来讲解下GIL是个什么了。 GIL为什么是Python中大的一把锁? GIL是Global Interpreter Lock的缩写,翻译过来就是全局解释器锁。 从字面上去理解,它就是锁在解释器头上的一把锁,它使Python代码运行变得有序。 假如有一段…

vue2 使用vue-org-tree demo

1.安装 npm i vue2-org-tree npm install -D less-loader less安装 less-loader出错解决办法,直接在package.json》devDependencies下面加入less和less-loader版本,然后执行npm i ,我用的nodejs版本是 16.18.0,“webpack”: “^4…

上位机图像处理和嵌入式模块部署(qmacvisual缺失的颜色检测)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 在图像处理当中,对颜色的处理是非常重要的。当然,这要建立在拍摄图片是彩色图片的基础之上。工业上面,虽然是黑…

wsl初步使用记录

wsl介绍 WSL是windows平台下Linux环境的子系统(Windows Subsyetem for Linux),可以让Windows下方便的安装Linux系统,而无需安装其他虚拟机软件。 wsl使用 Windows操作系统支持 Windows 10 版本 2004 及更高版本(内…

ruoyi-nbcio-plus基于vue3的flowable的自定义业务单表例子的升级修改

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 http://122.227.135.243:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a…

Vant DropdownMenu 下拉菜单带搜索功能

Vant DropdownMenu 下拉菜单带搜索功能 效果图&#xff1a; 上代码&#xff1a; <van-dropdown-menu active-color"#E33737"><van-dropdown-item ref"dropdownItem"><template #title><span>{{ dropdownItem.text }}</span…

【数据结构】:顺序表专题

前言&#xff1a;今天我们开始介绍数据结构有关内容&#xff0c;那么数据结构是什么呢&#xff1f; 数据结构是计算机存储、组织数据的方式。在工作中&#xff0c;我们通常会直接使用已经封装好的集合API(应用程序编程接口)&#xff0c;这样可以更高效地完成任务。但是作为一名…

三角形最小路径和-java

题目描述: 给定一个三角形 triangle &#xff0c;找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 1 的两个结点。也就是说&#xff0c;如果正位于当前行的下标 i &#xff…

JavaScript教程:从基础到发展历程及语法规则的全面介绍

文章目录 一、JavaScript简介二、JavaScript发展历程三、JavaScript基础语法3.1、变量概念3.2、变量命名3.3、变量提升3.4、代码注释3.5、语句3.6、区块 四、总结 一、JavaScript简介 JavaScript 是一种高级的、解释型的编程语言&#xff0c;主要用于为网页添加交互性和动态效…

网络安全(防火墙,IDS,IPS概述)

问题一:什么是防火墙,IDS,IPS? 防火墙是对IP:port的访问进行限制,对访问端口进行制定的策略去允许开放的访问,将不放开的端口进行拒绝访问,从而达到充当防DDOS的设备。主要是拒绝网络流量,阻断所有不希望出现的流程,禁止数据流量流通,达到安全防护的作用。如将一些恶…

谷歌浏览器快捷键, VScode 快捷键

谷歌浏览器快捷键 谷歌浏览器跳转标签页的方式&#xff1a; control Tab 跳转下一个标签页 control shift tab 上一个标签页 command 1-8 跳转对应的标签页&#xff0c;而command 9 则是跳转最后一个标签页 Previous Tab 插件实现谷歌浏览器两个tab页来回切换。快捷键为…

JVM-结合MAT工具分析OOM问题

JVM-结合MAT工具分析OOM问题 启动项目前配置VM参数 -XX:UseParNewGC -XX:UseConcMarkSweepGC -Xms1m #初始化大小 -Xmx1m #最大值 -XX:PrintGCDetails -Xloggc:gc_dandan.log -XX:HeapDumpOnOutOfMemoryError -XX:HeapDumpPath./运行结果截图 使用MAT打开java_pid12164.hprof…

实时时钟模块RX8901CE具有数字温度补偿功能,助力工业设备实现精准控制

在工业控制领域&#xff0c;电子产品的工作温度范围较广&#xff0c;同样的产品将面对高温、低温等不同工况。对于时钟信号敏感的电路设计而言&#xff0c;温度变化将严重影响产品功能&#xff0c;因此需要高精度时钟来保证电路信号的稳定&#xff0c;这种情况下需要使用带数字…

Django实现的登录注册功能

1 前言 在Web开发中&#xff0c;用户登录和注册是最基本且必不可少的功能。Django&#xff0c;作为一个高级的Python Web框架&#xff0c;为我们提供了强大的工具和库来快速实现这些功能。下面&#xff0c;我将详细介绍如何使用Django来实现用户登录和注册功能。 2 功能介绍 …

使用Ollama在本地运行AI大模型gemma

1.下载&#xff1a; https://github.com/ollama/ollama/releases 2.配置环境变量 我的电脑-右键-属性-系统-高级系统设置-环境变量-【系统环境变量】新建 变量名&#xff1a;OLLAMA_MODELS &#xff08;固定变量名&#xff09; 变量值&#xff1a;E:\Ollama\Lib &#xff0…

【状态机dp】【 排序 】 2809使数组和小于等于 x 的最少时间

本文涉及知识点 【状态机dp】 排序 LeetCode 2809. 使数组和小于等于 x 的最少时间 给你两个长度相等下标从 0 开始的整数数组 nums1 和 nums2 。每一秒&#xff0c;对于所有下标 0 < i < nums1.length &#xff0c;nums1[i] 的值都增加 nums2[i] 。操作 完成后 &…

Vue.js高效前端开发(页面验证跳转,查)

效果图 代码&#xff1a; new.html <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title></head><body><div id"app"><input type"text" name"" id"&…