码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • oracle-替换中文、回车、换行、倒序截取等,从OA一堆意见里面找出你想要的审批日期


    目录

    前言:

    一、去掉字符串里面的汉字

    1、效果

     2、代码

    3、解析

    二、去掉换行和回车符,倒叙截取需要日期

    1、效果

    2、代码

     3、解析

    三、总结

    前言:

            在早期的OA建设中,主要是为了让流程跑的通畅,很少去考虑后期的数据分析的需求,比如我们需要获取领导审批通过的日期,但是日期是在一堆意见里面。因组织架构的问题,同一个领导的意见会包含多条记录,即多个审批日期,这时候我们需要去获取最后一个审批日期作为审批日期。下面我们先来看看现实的数据是怎么样的吧。其中打码的都是人名哈。

     

             从图片我们可以看到,里面包含了汉字、回车和换行符,下面详细说说怎么去处理吧。

    一、去掉字符串里面的汉字

    1、效果

     2、代码

    1. select '【同意】 可以先调试
    2. 小明 2021-10-01 07:52
    3. ' old,trim(regexp_replace('【同意】 可以先调试
    4. 小明 2021-10-01 07:52
    5. ','['||chr(128)||'-'||chr(255)||']','')) nnew FROM DUAL

    3、解析

            实现的逻辑具体可参考我以前写的一篇博客介绍。

    oracle替换字符串中的中文_他们叫我技术总监的博客-CSDN博客_oracle替换中文字符

    二、去掉换行和回车符,倒叙截取需要日期

            通过上面的方法部分数据能满足我们的分析需求,但是我们会发现,当意见里面出现非汉字的时候,就会和日期一起展示,同时里面还存在很多换行符。如下图所示。

     

     

             如上图所示去掉汉字的字符串,存在多个日期和其他非英文字符的问题。同时里面还有大量的换行和回车符。话不多说直接上效果吧。

    1、效果

    2、代码

    1. select FIELD0065 原始数据,
    2. trim(regexp_replace(FIELD0065,'['||chr(128)||'-'||chr(255)||']','')) 第一次处理,
    3. substr(trim(replace(replace(trim(regexp_replace(FIELD0065,'['||chr(128)||'-'||chr(255)||']','')),CHR(10),''),chr(13),'')),-16,10) 第二次处理后
    4. from BI.Oa_51me_Zb where FIELD0065 is not null
    5. ---使用时替换表名BI.Oa_51me_Zb和字段名FIELD0065即可

     3、解析

            通过replace+CHR(10)+chr(13)去掉了回车和换行符。然后通过trim去掉里面的空格,再通过substr函数从最后16位的位置截取10为长度的字符串作为审批日期。

    三、总结

            本文主要用来分享项目上遇到的小问题,同时在自己再次遇到的时候可以用来查看,快速解决问题,希望本次文章对你有空,也欢迎留言讨论其他更优解哦~

  • 相关阅读:
    NodeJs实战-待办列表(7)-connect组件简化代码
    Oracle数据库下载、安装、卸载
    结构体(1)
    Thinkphp6 模型 指定字段自增的方法
    Django学习笔记-实现聊天系统
    DevOps平台中的制品库是什么?有什么用处?
    0/1背包问题
    Linux学习-数据类型学习
    推荐一款C#开源的操作简单、免费的屏幕录制和GIF动画制作神器
    人工神经网络理论及应用pdf,人工智能的相关书籍
  • 原文地址:https://blog.csdn.net/qq_29061315/article/details/126727218
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号