ABAP SQL CDSView Entity中使用正则RegEx表达式(Regular Expressions)

1. 正则表达式测试程序

  • DEMO_REGEX
  • DEMO_REGEX_TOY
    1

2. ABAP SQL & CDSView Entity支持正则语法的场景

SQL函数语法作用执行逻辑返回类型CDS   View EntitiesABAP   SQL
LIKE_REGEXPRLIKE_REGEXPR(
     
     PCRE = pcre,
     
     VALUE = sql_exp1[,
     
     CASE_SENSITIVE = case])
检查字符串是否包含任何 PCRE命中检查sql_exp是否包含任何   PCRE命中,是则返回1,否则返回0。默认情况下,搜索是区分大小写的,但可以使用参数case-sensitive   覆盖这一点。INT4 支持
OCCURRENCES_REGEXPROCCURRENCES   _REGEXPR(
     
     PCRE = pcre,
     
     VALUE = sql_exp1[,
     
     CASE_SENSITIVE = case])
计数并返回所有出现的 PCRE命中对sql_exp中 PCRE命中 的所有出现次数进行计数,并返回出现次数。默认情况下,搜索是区分大小写的,但可以使用参数case-sensitive 覆盖这一点。INT4 支持
REPLACE_REGEXPRREPLACE_REGEXPR(
     
     PCRE = pcre,
     
     VALUE = sql_exp1,
     
     WITH = sql_exp2,
     
     OCCURRENCE => occ][,
     
     CASE_SENSITIVE => case])
将字符串中的 PCRE命中 替换为另一个指定的字符串将sql_exp1中的   PCRE命中 替换为sql_exp2中指定的字符串。OCCURRENCE是可选的,它决定了要替换的pcre的出现次数。默认情况下,搜索是区分大小写的,但可以使用参数case-sensitive 覆盖这一点。SSTRING支持支持
## 3. 用法
  • LIKE_REGEXPR 取工厂为纯数字的数据(ABAP SQL)
SELECT *
FROM marc
WHERE LIKE_REGEXPR( PCRE = '[0-9]{4}',VALUE = werks,CASE_SENSITIVE = ' ' ) = 1
into TABLE @DATA(lt_marc).

1

  • OCCURRENCES _REGEXPR取"0"出现了3次的工厂(ABAP SQL)
SELECT *
FROM t001w
WHERE occurrences_regexpr( pcre = '[0]{1}',value = werks,case_sensitive = ' ' ) = 3
INTO TABLE @DATA(lt_marc).

2

  • REPLACE_REGEXPR 取Z004下工厂纯数字或者V00开头&Z005 Z006下工厂非纯数字的数据 (CDS View Entity)
define view entity ZI_MAINTAINEDPLANTVIEW_VH
  as select from ZI_MAINTAINEDPLANTVIEW as t1
    cross join   ZI_MD_SUBTYPE_VH       as t2
{
      @Consumption.filter.hidden:true
  key t1.Matnr,
      @ObjectModel.text.element: [ 'name1' ]
  key t1.Werks,
      t1.Extended,
      @Semantics.text: true
      t1.Name1,
      t2.SubType
}
where
           t1.Matnr         <> ''
  and(
           t2.SubType       =  'Z001_003'
    or     t2.SubType       =  'Z002_003'
    or     t2.SubType       =  'Z002_003'
    or(
           t2.SubType       =  'Z004_003'
      and(
           '####'           =  replace_regexpr(pcre => '[0-9]{1}', value => t1.Werks, with => '#', result_length => 4)
        or(
           left(t1.Werks,3) =  'V00'
        )
      )
    )
    or(
      (
           t2.SubType       =  'Z005_003'
        or t2.SubType       =  'Z006_003'
      )
      and(
           '####'           <> replace_regexpr(pcre => '[0-9]{1}', value => t1.Werks, with => '#', result_length => 4)
      )
    )
  )

3

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

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

相关文章

AWS CodeArtifact配置(Maven私有库)

问题 由于后台Java代码需要&#xff0c;发布jar到maven私有库后&#xff0c;另外一个Java项目&#xff0c;通过maven私有库再拉去这个jar使用。这里就需要部署一个maven私有库。 1. 创建域 打开CodeArtifact主页&#xff0c;开始创建域&#xff0c;如下图&#xff1a; 创建…

剧本杀小程序开发:探索游戏与科技的完美结合

随着科技的飞速发展&#xff0c;越来越多的人开始寻求数字化娱乐方式。剧本杀小程序正是这种需求下的产物&#xff0c;它将传统的剧本杀游戏与现代科技相结合&#xff0c;为玩家提供了全新的游戏体验。本文将探讨剧本杀小程序开发的各个方面&#xff0c;包括市场需求、功能设计…

鸿蒙5.0发布时间已定!何处寻得移动开发加速器?

直接在百度上搜索「鸿蒙5.0发布时间」&#xff0c;出来的结果&#xff0c;那一个比一个焦虑~~ 百度的AI基于综合内容判断得出&#xff0c;鸿蒙5.0的发布时间在2023-04-17 百度知道推的答案是202年年4月中 但不管几月&#xff0c;“鸿蒙元年”似乎都是确定的&#xff0c;就是…

大数据学习之Flink算子、了解DataStream API(基础篇一)

DataStream API &#xff08;基础篇&#xff09; 注&#xff1a; 本文只涉及DataStream 原因&#xff1a;随着大数据和流式计算需求的增长&#xff0c;处理实时数据流变得越来越重要。因此&#xff0c;DataStream由于其处理实时数据流的特性和能力&#xff0c;逐渐替代了DataSe…

copilot和chatGPT的区别

区别&#xff1a; Copilot和ChatGPT是由OpenAI开发的两个不同的工具&#xff0c;用于不同的任务和场景。以下是它们的主要区别&#xff1a; 用途&#xff1a; ChatGPT&#xff1a; ChatGPT是一个生成式语言模型&#xff0c;设计用于与用户进行自然语言交互。它被训练用于回答用…

innodb底层原理和MySQL日志机制

server层 1. 连接器 客户端连接数据库需要输入账号、密码。连接器进行校验账号密码以及权限。 2. 查询缓存 连接器连接以后&#xff0c;比如输入一个select语句&#xff0c;这时候第一步就会先根据sql语句作为key给查询缓存中查看这条sql有没有已经被查询过&#xff0c;如果…

基于Guava布隆过滤器的海量字符串高效去重实践

在Java环境中处理海量字符串去重的问题时&#xff0c;布隆过滤器&#xff08;BloomFilter&#xff09;是一种非常高效的数据结构&#xff0c;尽管它有一定的误报率。布隆过滤器适用于那些可以接受一定误报率&#xff0c;并且希望节省空间和时间成本的场景。 布隆过滤器应用 使…

爬取的数据可以入表吗?怎样入表?

合规是数据入表的前提。当前爬虫数据是非常敏感的&#xff0c;因为爬虫极容易造成两大不合规的问题&#xff1a;一是没有经过个人同意获取数据&#xff0c;二是爬取的数据里可能含有个人敏感信息也是一个问题。现在法律对于这部分非常严苛&#xff0c;如果企业里有50条未获得授…

优先级队列(堆)详解

优先级队列&#xff08;堆&#xff09;详解 目录 堆的概念堆的存储方式堆的基本操作优先级队列模拟实现PriorityQueue接口介绍堆排序Top-k问题 1、堆的概念 如果有一个关键码的集合K {k0&#xff0c;k1&#xff0c; k2&#xff0c;…&#xff0c;kn-1}&#xff0c;把它的所…

动态规划—— 求最长不下降序列LIS【集训笔记】

题目描述 设有由n(1≤n≤200)个整数组成的数列&#xff0c;记为:b(1)、b(2)、……、b(n)&#xff0c;若存在i1<i2<i3<…<ie 且有b(i1)<b(i2)<…<b(ie)则称为长度为e的不下降序列。程序要求&#xff0c;当原数列出之后&#xff0c;求出最长的不下降序列。 …

仰暮计划|“她告诉我,大部分时间她都是一个家庭主妇,负责照料家务和小孩,但她从来没有停止她对知识的追求”

我来到河南省开封市兰考县南北庄村内一个宁静而温馨的小院子&#xff0c;那里居住着一位九十多岁的高龄老人&#xff0c;她就是张奶奶。张奶奶是村里的一位高龄老人&#xff0c;拥有着丰富的人生经历。我对她的故事非常充满好奇&#xff0c;所以特地来到张奶奶的家中&#xff0…

5.Nacos注册中心

5.Nacos注册中心 国内公司一般都推崇阿里巴巴的技术&#xff0c;比如注册中心&#xff0c;SpringCloudAlibaba也推出了一个名为Nacos的注册中心。 5.1.认识和安装Nacos Nacos是阿里巴巴的产品&#xff0c;现在是SpringCloud中的一个组件。相比Eureka功能更加丰富&#xff0c…

【加解密篇】电子数据取证分析之特殊的自加密BitLocker解密

【加解密篇】电子数据取证分析之特殊的自加密BitLocker解密 数据加解密通常是个耗时费力的事情—【蘇小沐】 1、实验环境 Windows 11 专业版&#xff0c;[23H2&#xff08;22631.3007&#xff09;] &#xff08;一&#xff09;自动开启BitLocker之天坑 1、经验之谈 在201…

常用电子器件学习——MOS管

MOS管介绍 MOS&#xff0c;是MOSFET的缩写。MOSFET 金属-氧化物半导体场效应晶体管&#xff0c;简称金氧半场效晶体管&#xff08;Metal-Oxide-Semiconductor Field-Effect Transistor, MOSFET&#xff09;。 一般是金属(metal)—氧化物(oxide)—半导体(semiconductor)场效应晶…

尝试为ssrf漏洞编写黑名单与白名单

以pikachu靶场ssrf&#xff08;curl&#xff09;为例&#xff1a; 你会发现什么也没防御项访问基本的文件内容&#xff0c;端口开放都是可以看到的&#xff0c;没有任何防御措施。 我们去查看一下他的源码有没有过滤什么 没有任何过滤&#xff0c;咱么尝试进行过滤一下&#xf…

P9232 [蓝桥杯 2023 省 A] 更小的数

[蓝桥杯 2023 省 A] 更小的数 终于本弱一次通关了一道研究生组别的题了[普及/提高−] 一道较为简单的双指针题,但一定有更好的解法. 题目描述 小蓝有一个长度均为 n n n 且仅由数字字符 0 ∼ 9 0 \sim 9 0∼9 组成的字符串&#xff0c;下标从 0 0 0 到 n − 1 n-1 n−1&a…

防御第二次作业-防火墙组网实验(2)

目录 实验拓扑图 实验要求 一般组网步骤 to isp区域ping通 dmz区域 trust区域 实验拓扑图 实验要求 1.防火墙向下使用子接口分别对应两个内部区域 2.所有分区设备可以ping通网关 一般组网步骤 1.先配ip、接口、区域、安全策略 2.内网配置回包路由 3.配置dmz区域的服务器映…

工业物联网水泵远程监控系统解决方案

行业描述 水泵作为一种应用极为广泛的通用机械&#xff0c;在工业生产、日常生活中发挥着重要作用&#xff0c;伴随着“十三五”期间重大工程泵类产品的国产化率的提高&#xff0c;当前已经基本满足了国家经济建设发展的需要。 近年来中国水泵企业实现了较大的技术提升&#…

JavaWeb之开发介绍 --黑马笔记

什么是 Web &#xff1f; Web&#xff1a;全球广域网&#xff0c;也称为万维网(www World Wide Web)&#xff0c;能够通过浏览器访问的网站。 Web 网站的工作流程 上图解释&#xff1a; 当你在浏览器中输入网址或点击一个链接时&#xff0c;浏览器会向前端服务器发起请求&…

一文让你了解UI自动化测试

测试都起什么作用 - 是项目的保险&#xff0c;但不是项目的救命草&#xff1b;测试无实际产出&#xff0c;但作用远大于实际产出&#xff1b;测试是从项目维度保证质量&#xff0c;而不是测试阶段。 UI自动化&#xff08;下面简称自动化&#xff09; - 基于UI进行自动功能测试…