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

这篇具有很好参考价值的文章主要介绍了ABAP SQL & CDSView Entity中使用正则RegEx表达式(Regular Expressions)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 正则表达式测试程序

  • DEMO_REGEX
  • DEMO_REGEX_TOY
    ABAP SQL & CDSView Entity中使用正则RegEx表达式(Regular Expressions),ABAP开发,Core Data Service(CDS View),SQL

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

SQL函数 语法 作用 执行逻辑 返回类型 CDS   View Entities ABAP   SQL
LIKE_REGEXPR LIKE_REGEXPR(
     
     PCRE = pcre,
     
     VALUE = sql_exp1[,
     
     CASE_SENSITIVE = case])
检查字符串是否包含任何 PCRE命中 检查sql_exp是否包含任何   PCRE命中,是则返回1,否则返回0。默认情况下,搜索是区分大小写的,但可以使用参数case-sensitive   覆盖这一点。 INT4   支持
OCCURRENCES_REGEXPR OCCURRENCES   _REGEXPR(
     
     PCRE = pcre,
     
     VALUE = sql_exp1[,
     
     CASE_SENSITIVE = case])
计数并返回所有出现的 PCRE命中 对sql_exp中 PCRE命中 的所有出现次数进行计数,并返回出现次数。默认情况下,搜索是区分大小写的,但可以使用参数case-sensitive 覆盖这一点。 INT4   支持
REPLACE_REGEXPR REPLACE_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).

ABAP SQL & CDSView Entity中使用正则RegEx表达式(Regular Expressions),ABAP开发,Core Data Service(CDS View),SQL

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

ABAP SQL & CDSView Entity中使用正则RegEx表达式(Regular Expressions),ABAP开发,Core Data Service(CDS View),SQL

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

ABAP SQL & CDSView Entity中使用正则RegEx表达式(Regular Expressions),ABAP开发,Core Data Service(CDS View),SQL文章来源地址https://www.toymoban.com/news/detail-821165.html

到了这里,关于ABAP SQL & CDSView Entity中使用正则RegEx表达式(Regular Expressions)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【C++】标准库 — 正则表达式 std::regex

    从 C++11 起,标准库增加了正则表达式 ( Reg ular Ex pression) — std::regex ,包含在头文件 regex 中。 描述字符序列的方法,用于字符(串)的模式/模糊匹配。 用途 ,一般只有两种用途: 查找 (是否包含,找出来) 标识 释义 seq sequence 表示目标序列 r regex 表示模式,即正则表达式

    2024年02月11日
    浏览(32)
  • C#Regex正则表达式(Regular Expression)

    在C#中,Regex是正则表达式(Regular Expression)的缩写,它是一种强大的文本匹配和处理工具。正则表达式是一种用于描述模式的字符串,它可以用来在文本中查找、替换和提取满足特定模式的内容。 在C#中,你可以使用System.Text.RegularExpressions命名空间下的Regex类来操作正则表达

    2024年02月05日
    浏览(31)
  • C++参悟:正则表达式库regex(更新中)

    C++标准库为我们提供了处理字符串的正则表达式库。正则表达式是一种用于在字符串中匹配模式的微型语言。 正则表达式在查询、替换字符串的时候有很多快速的使用场景,是一个经常使用的工具。正则表达式需要使用到正则表达式的语法,这个语法是独立于编程语言外的一

    2024年01月21日
    浏览(32)
  • 身份证号码的正则表达式及验证详解(JavaScript,Regex)

    简言 在做用户实名验证时,常会用到身份证号码的正则表达式及校验方案。本文列举了两种验证方案,大家可以根据自己的项目实际情况,选择适合的方案 身份证号码说明 居民身份证号码,正确、正式的称谓应该是“公民身份号码”。根据【中华人民共和国国家标准 GB 11

    2023年04月20日
    浏览(29)
  • 【SQL-正则】利用正则表达式进行过滤操作(常用正则表达式)

    1、由数字、26个英文字母或者下划线组成的字符串 2、非负整数(正整数 + 0 ) 3、正整数 4、非正整数(负整数 + 0) 5、负整数 6、整数 7、非负浮点数(正浮点数 + 0) 8、正浮点数 9、非正浮点数(负浮点数 + 0) 10、负浮点数 11、浮点数 12、由26个英文字母组成的字符串 13、

    2024年02月12日
    浏览(65)
  • SQL-正则表达式和约束

    正则表达式 约束 正则表达式是一种用来描述字符串模式的工具,它可以用于匹配、查找、替换等操作。正则表达式由字符和特殊字符组成,可以使用这些字符来定义匹配规则。 常用的正则表达式字符和特殊字符有: 普通字符:表示匹配该字符本身,如 a 表示匹配字母\\\"a\\\"。

    2024年02月08日
    浏览(37)
  • SQL中常见正则表达式用法

    在 SQL 中,正则表达式是一种强大的工具,用于匹配相应的字符串模式。SQL 支持的正则表达式语法因数据库而异,下面是一些常用的正则表达式元字符: . :匹配任何单个字符 * :匹配任意数量的前一个字符 + :匹配一个或多个前一个字符 ? :匹配零个或一个前一个字符 ^ :

    2024年02月15日
    浏览(49)
  • HIVE SQL中替换不可见字符的正则表达式

    对于剔除字符串首尾的空格,使用较多的是 trim() 、 ltrim() 、 rtrim() 函数,但是他们无法去除字符串中间的空格。 这个时候通常会使用正则表达式来替换字符串中的空白字符 s 表示匹配任何空白字符,包括空格、制表符、换页符等等, 等价于[ fnrtv]。 返回结果: ‘abcdefg’

    2024年02月16日
    浏览(34)
  • notepad++配合正则表达式分组模式处理文本转化为sql语句

    一、正则分组知识点补充 正则分组和捕获 ():用于分组和捕获子表达式。 大白话就是()匹配到的数据,通过美元符号加下标可以获取该数据,例如$1、$2, 下标从1开始。 下面的案例就采用该模式处理文本数据 二、使用正则的需求背景 有一份报表的数据,需要把数据入库到m

    2024年02月07日
    浏览(47)
  • 利用正则表达式进行爬取数据以及正则表达式的一些使用方法

    Pattern:表示正则表达式 Matcher:文本匹配器,作用按照正则表达式的规则去读取字符串,从头开始读取。 在大串中去找符合匹配规则的子串。 代码示例: 需求: 把连接:https://m.sengzan.com/jiaoyu/29104.html?ivk sa=1025883i中所有的身份证号码都爬取出来。 代码示例: 需求: 把下面文

    2024年02月09日
    浏览(46)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包