首页 > 其他分享 >【DM】

【DM】

时间:2024-02-04 15:44:57浏览次数:28  
标签:test1 xml DM VALUE replace value1 select

一、场景
   将指定的数据格式转换为XML,并查询为列表
   数据格式:{"JiJClass":"1","Power":"1","DetailPara":"1","ChangeRptSrc":"1","SpreadCertRptSrc":"1"}
二、示例
--创建测试表
CREATE TABLE test1(value1 varchar2)
--添加数据
insert into test1(value1)values('{"JiJClass":"1","Power":"1","DetailPara":"1","ChangeRptSrc":"1","SpreadCertRptSrc":"1"}');
commit;

declare  _xml_VALUE varchar2;
begin
 select
      '<note><k>'+ 
      replace(
       replace(
         replace(
           replace(
              replace(value1, '{', '')
               , '}', '')
                  , '"', ''), ',',
                  '</val></note><note><k>'), ':', 
                                          '</k><val>')
        + '</val></note>' as vxml
          into 
       _xml_VALUE
   from test1;

  with tmp as
     ( select * 
        from XMLTABLE 
             ( 
             '/note' 
             PASSING _xml_VALUE
             COLUMNS "key" VARCHAR(120) PATH 'k',
                     "val" VARCHAR(120) PATH 'val' 
             ) 
             xt
     )
     select *from tmp;
end;

---最终结果

 

 

标签:test1,xml,DM,VALUE,replace,value1,select
From: https://www.cnblogs.com/WuUranus/p/18006355

相关文章

  • 【DM】修改集合(嵌套表类型)中数据
    declaretyperecord_tableisrecord(idint,valvarchar(128),namevarchar);typev_tableistableofrecord_table;tempChangev_table;begin--BULKCOLLECT批量的执行;selectnum,val,'zidingyi'bulkcollectintotempChangefromtable......
  • 【DM】-6521: 当前触发器不支持DDL语句
    问题:当代码块中有DDL(create,delete,alter)等操作时,报错“当前触发器不支持DDL语句”。这个问题是因为DDL_TV_TRIGGER参数值为0导致解决:需要在数据库目录下面的ini文件中增加DDL_TV_TRIGGER该参数解决;默认情况下,该参数值为0是关闭的;首先查询配置文件中参数名称包含DDL;(其实我在第一......
  • 【DM】根据指定字符分割字符串,返回表
    一、创建记录CREATEORREPLACETYPETYPE_ROW_SPLITSTRASOBJECT(idINT,valNVARCHAR(500));二、创建嵌套表CREATEORREPLACETYPETYPE_TABLE_SPLITSTRisTABLEOFTYPE_ROW_SPLITSTR;三、自定义函数CREATEORREPLACEFUNCTIONsplitTable(strvalINTEXT......
  • 【DM】自定义存储函数(返回字符在字符串中所在位置的下标字符串)
    一、使用while语法--输入:原字符串,查找的字符,分割字符--输出:所在位置下标集合(用输入的分割字符分割)CREATEORREPLACEFUNCTIONdF_strPosition(strInputINVARCHAR(100),strFindinputINVARCHAR(2),strSplitINVARCHAR(2))RETURNVARCHAR(128)ASstrVal......
  • 【DM】判断两个逗号分隔的字符串参数是否存在交集
     CREATEORREPLACEFUNCTIONSIGN_INTERSECTION(V_TAG1VARCHAR2,V_TAG2VARCHAR2)RETURNINTEGERISBEGINIFV_TAG1ISNULLORV_TAG2ISNULLORV_TAG1=''ORV_TAG2=''THENRETURN1;ENDIF;--去掉前缀和尾随逗号V_TAG2......
  • EDM 营销 平台有哪些?3款系统大分析
    在当今数字营销的激烈竞争中,EDM(ElectronicDirectMail)营销平台成为了企业获取客户和推广产品的重要渠道之一。随着市场需求的不断增长,各种EDM营销平台如雨后春笋般涌现,企业在选择合适的平台时往往面临诸多挑战。本文将针对EDM营销平台进行深入分析,探讨其中的3款系统,帮助企业在众多......
  • HDMI2.1之eARC简介-Dolby Atmos和DTS:X
    eARCeARC代表“enhancedAudioReturnChannel”(增强型音频返回通道),是一种用于音频传输的高级技术标准。它是HDMI(HighDefinitionMultimediaInterface,高清晰度多媒体接口)规范的一部分,旨在提供更高质量的音频传输和更多的功能。HDMI论坛提出HDMI2.1版时,一并新增的功能,其全名是E......
  • 串口DMA
    双缓冲区防止前一组数据没有及时处理后一组数据就来了,将前一组覆盖了。采用标志位的方法,标志位为1就将数组1的地址赋给DMA存储器的地址,并且将标志位置0。同理,标志位为0就将数组2的地址赋给DMA存储器的地址,并且将标志位置1。DMA+串口空闲中断传输计数器设置一个很大的值,串口没......
  • fastAdmin中手动添加列表的选项卡
    一、效果:点击选项卡筛选符合的数据 二:实现方法:1.index.html里面写上列表: <divclass="panel-heading"> {:build_heading()} <ulclass="navnav-tabs"data-field="type"> <liclass="active"> <ahref=&......
  • Podman使用(Mac M1)
    1.前言弃用docker选择使用podman的理由:使用虚拟机进行容器管理不需要本机root权限非守护进程podman命令与docker一致2.安装及配置使用homebrew安装podmanbrewinstallpodmanbrewinstallpodman-composebrewinstallpodman-desktop创建podman虚拟机:通过podman-d......