当前位置: 首页 > news >正文

全网最详细,从一堆字符串,精确抓取想要日期时间的实战2.0

前言:

        前面我们知道了,怎么从一堆带有中文、英文、日期时间的字符串里面抓取需要的日期时间,但是我们实现的只是抓取第一个日期时间,那我们怎么实现,抓取第二个,或者任一一个日期时间呢?

一、思路分析

        1、数据清洗、匹配

        因为字段里面的内容比较杂,因此我们需要从杂乱的数据里面找到我们需要的数据,即日期时间如2024-06-10 10:39  2024-06-10 10:59  这种。具体怎么匹配就不再阐述,可以参考以前的文章。

全网最详细,从一堆字符串,精确抓取日期时间的实战_日期字符串截取时间-CSDN博客

        因此,这是我们还是需要通过REGEXP_SUBSTR来匹配,正则表达式在这里介绍两种方法,即regexp_substr( your_column,'\d{4}-\d{2}-\d{2} \d{2}:\d{2}')或者REGEXP_SUBSTR(your_column,'([0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2})',一个是匹配按日期规则匹配的正整数,一个是按日期规则匹配的0-9的整数,效果都是一样的。

        2、实战

        代码:

SELECT   field0044 ddate,
regexp_substr(field0044,'\d{4}-\d{2}-\d{2} \d{2}:\d{2}') second_datetime,
regexp_substr(field0044,'([0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2})') second_datetime_V2
FROM   BI.oa_cpbhg a
WHERE   field0044  is  not  null and rownum=1 --只是案例,按实际需求更改

        效果:

二、获取任一位置日期时间

        从上面我们知道怎么去快速获取字符串中,匹配到的第一个日期时间,如果我们要获取任一个该怎么弄呢?

        接下来我们可以参考,获取第二个日期时间的案例,来理解实现过程。

        1、代码:

SELECT   field0044,REGEXP_SUBSTR(field0044,'([0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2})',1,2, NULL,1 ) AS second_datetime  
FROM   BI.oa_cpbhg
WHERE   field0044 is  not null --只是案例,具体按实际情况更改,获取第二个日期时间,按需求可以把2改成任一需要的数字如 2 3 4 5..n

      2、 效果:

       3、解析:

        这里的REGEXP_SUBSTR函数:

  • 第一个参数是你要搜索的列名(your_column)。
  • 第二个参数是正则表达式,匹配日期时间格式(例如 'YYYY-MM-DD HH24:MI:SS')。
  • 第三个参数是搜索的起始位置(这里从1开始)。
  • 第四个参数指定返回第几个匹配项(这里为2,即第二个匹配项)。
  • 第五个参数是匹配项的子串编号(对于REGEXP_SUBSTR来说,这个参数通常用于捕获组,但在这里我们不需要,所以设置为NULL)。
  • 第六个参数是标志,用于控制函数的行为(这里我们不需要特别的行为,所以设置为1)。

   注意,如果我们的日期格式是2024-08-15 09:23:23,相应的正式表达式要更改成\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} 或者([0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2})。希望对你有用,有问题欢迎留言讨论~       

 

相关文章:

全网最详细,从一堆字符串,精确抓取想要日期时间的实战2.0

前言: 前面我们知道了,怎么从一堆带有中文、英文、日期时间的字符串里面抓取需要的日期时间,但是我们实现的只是抓取第一个日期时间,那我们怎么实现,抓取第二个,或者任一一个日期时间呢? 一、思路分析 1、数…...

24/8/15算法笔记 dp策略迭代 价值迭代

策略迭代: 策略迭代从某个策略开始,计算该策略下的状态价值函数。它交替进行两个步骤:策略评估(Policy Evaluation)和策略改进(Policy Improvement)。在策略评估阶段,计算给定策略下…...

【MMdetection改进】换遍MMDET主干网络之SwinTransformer-Tiny(基于MMdetection)

OpenMMLab 2.0 体系中 MMYOLO、MMDetection、MMClassification、MMSelfsup 中的模型注册表都继承自 MMEngine 中的根注册表,允许这些 OpenMMLab 开源库直接使用彼此已经实现的模块。 因此用户可以在MMYOLO 中使用来自 MMDetection、MMClassification、MMSelfsup 的主…...

FL Studio21.2.4最新中文版免费下载汉化包破解补丁

🎉 FL Studio 21中文版新功能全解析!让你的音乐制作更加高效! 嘿,各位音乐制作的小伙伴儿们,今天我要安利一款你们绝对会爱上的神器——FL Studio 21中文版!这款软件不仅功能强大,而且操作简便…...

私域场景中的数字化营销秘诀

​在当今的商业世界,私域场景的营销变得愈发重要。今天咱们就来深入探讨一下私域场景中的几个关键营销手段。 一、会员管理与营销 企业一旦拥有完善的会员体系,数字化手段就能大放异彩。它可以助力企业对会员进行精细划分,深度了解会员的消费…...

一键换肤(Echarts 自定义主题)

一键换肤(Echarts 自定义主题) 一、使用官方主题配置工具 官方主题配置工具:https://echarts.apache.org/zh/theme-builder.html 如果以上主题不满足使用,可以自己自定义主题 例如:修改背景、标题等,可…...

Unity 6 预览版正式发布

Unity 6 预览版发布啦,正式版本将于今年晚些时候正式发布! 下载链接: https://unity.com/releases/editor/whats-new/6000.0.0 Unity 6 预览版是 Unity 6 开发周期的最后一个版本,在去年 11 月 Unite 大会上,我们宣…...

如何跳过极狐GitLab 密钥推送保护功能?

极狐GitLab 是 GitLab 在中国的发行版,专门面向中国程序员和企业提供企业级一体化 DevOps 平台,用来帮助用户实现需求管理、源代码托管、CI/CD、安全合规,而且所有的操作都是在一个平台上进行,省事省心省钱。可以一键安装极狐GitL…...

Android高版本抓包总结

方案1 CharlesVirtualXposedJustTrustMe 推荐使用三星手机此方案 VirtualXposed下载链接:https://github.com/android-hacker/VirtualXposed/releases JustTrustMe下载链接:https://github.com/Fuzion24/JustTrustMe/releases/ 下载完成后使用adb命令…...

《AI视频类工具之五——​ 开拍》

一.简介 官网:开拍 - 用AI制作口播视频用AI制作口播视频https://www.kaipai.com/home?ref=ai-bot.cn 开拍是一款由美图公司在2023年推出,利用AI技术制作的短视频分享应用。这款工具通过AI赋能,为用户提供了从文案创作、视频拍摄到视频剪辑、包装的一站式解决方案,极大地…...

面试经典算法150题系列-最后一个单词的长度

最后一个单词的长度 给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例 1: 输入:s "Hello World&qu…...

RTT学习

电源管理组件 嵌入式系统低功耗管理的目的在于满足用户对性能需求的前提下,尽可能降低系统功耗以延长设备待机时间。 高性能与有限的电池能量在嵌入式系统中矛盾最为突出,硬件低功耗设计与软件低功耗管理的联合应用成为了解决矛盾的有效手段。 现在的各…...

前端面试题(二十五)|附赠完整面试流程

📝📝今日分享:前端面试题系列继续更新啦! 🤔🤔面试题是什么呢?这份前端面试题主要是上海某银行的中级前端面试题,面试时长属实没想到,挺短的!但从整个面试流程…...

【分布式系统】关于主流的几款分布式链路追踪工具

Jaeger 标准化与兼容性: Jaeger 支持 OpenTracing 和 OpenTelemetry 标准,这意味着它可以与各种微服务架构和应用框架无缝集成,提供了广泛的兼容性和灵活性。 数据存储选项: Jaeger 支持多种数据存储后端,如 Cassandra…...

【吸引力法则】探究人生欲:追求深度体验与宇宙链接

文章目录 什么是人生欲?唤醒人生欲:克服配得感的三大障碍1 第一大障碍:法执的压制2 第二大障碍:家庭的继承2.1 家庭创伤的代际传递2.2 家庭文化基因的传递2.2.1 “成年人最大的美德是让自己的生活过得更加精彩。”2.2.2 荷欧波诺波…...

REST framework-通用视图[Generic views]

Django’s generic views… were developed as a shortcut for common usage patterns… They take certain common idioms and patterns found in view development and abstract them so that you can quickly write common views of data without having to repeat yourself…...

行驶证OCR识别接口如何用Java调用

一、什么是行驶证OCR识别接口? 传入行驶证照片,行驶证图片上的文字信息,返回包括所有人、品牌型号、住址、车牌号、发动机号码、车辆识别代号、注册日期、发证日期等信息。 行驶证 OCR 接口的主要作用是代替手动输入,提高信息录…...

8月15日笔记

masscan安装使用 首先需要有c编译器环境。查看是否有c编译器环境: gcc -v如果系统中已经安装了 GCC,这个命令将输出 GCC 的版本信息。如果未安装,你会看到类似于 “command not found” 的错误消息。 如果没有下载,使用如下命令…...

CSS3 圆角

CSS3 圆角 引言 在网页设计中,圆角矩形是一种常见的设计元素,它们为页面带来了柔和的视觉体验。随着CSS3的推出,实现圆角矩形变得异常简单,无需依赖图片或复杂的JavaScript代码。本文将详细介绍CSS3中用于创建圆角矩形的border-…...

VUE项目中main.js中不能使用 @引入路径吗

VUE项目中main.js中不能使用 引入路径吗 vite.config已经配置了别名 但是在main.js中直接引入报错 修改成 相对路径后,保存消失 找到原因:vite.config 漏了引入 import { defineConfig } from ‘vite’ import vue from ‘vitejs/plugin-vue’ 导致…...

Android崩溃分析进阶:结合addr2line与IDA Pro精准定位SO文件崩溃点

1. 从崩溃日志到问题定位:为什么SO文件这么难缠? 每次看到Android应用崩溃日志里出现"signal 11 (SIGSEGV)"这种字样,我就知道今晚又要加班了。特别是当崩溃发生在SO文件中时,那种无力感就像在漆黑的房间里找一根掉落的…...

Onnxruntime模型量化实战:从PTQ到精度调优

1. Onnxruntime模型量化入门指南 第一次接触模型量化时,我也被各种术语搞得晕头转向。简单来说,量化就是把模型参数从32位浮点数转换为8位整数,就像把高清图片压缩成更小的文件。Onnxruntime作为业界领先的推理引擎,提供了完整的量…...

避坑指南:STM32磁编码器校准常见的5个错误及解决方案

STM32磁编码器校准实战:5个典型错误分析与高阶解决方案 磁编码器在步进电机控制系统中扮演着关键角色,而MT6816作为国产AMR技术代表芯片,其14位高精度输出为位置检测提供了可靠保障。但在实际校准过程中,开发者常会遇到CALI_Error…...

Electron打包踩坑实录:从icon报错到网络卡顿,手把手教你用electron-builder搞定Windows安装包

Electron实战打包指南:从图标优化到网络加速的全流程解决方案 Electron作为跨平台桌面应用开发框架,其打包环节往往是开发者遇到问题最集中的阶段。本文将系统梳理从基础配置到高级优化的完整打包流程,特别针对Windows平台下electron-builde…...

手把手教你用VerilogA实现1.8V两相非交叠时钟(附完整代码与仿真)

1.8V两相非交叠时钟的VerilogA实现实战指南 在混合信号电路设计中,非交叠时钟(Non-Overlapping Clock)是许多关键模块的基础需求,特别是在开关电容电路、电荷泵和采样保持电路中。本文将带你从零开始,使用VerilogA语言…...

告别目标跟丢!手把手教你用BoT-SORT和OpenCV GMC搞定复杂场景下的多目标跟踪

告别目标跟丢!手把手教你用BoT-SORT和OpenCV GMC搞定复杂场景下的多目标跟踪 在智能监控和自动驾驶等实际应用中,多目标跟踪(MOT)技术常常面临动态相机和目标快速移动带来的挑战。传统算法在目标遮挡、镜头晃动等复杂场景下容易出…...

终极解决方案:Calibre中文路径插件让书库管理回归本真

终极解决方案:Calibre中文路径插件让书库管理回归本真 【免费下载链接】calibre-do-not-translate-my-path Switch my calibre library from ascii path to plain Unicode path. 将我的书库从拼音目录切换至非纯英文(中文)命名 项目地址: h…...

智能硬件开发实战:用天问Block给ASRPRO芯片添加声控功能(含完整代码)

智能硬件开发实战:用天问Block给ASRPRO芯片实现声控LED系统 在智能家居和玩具开发领域,语音交互正成为最自然的控制方式。传统嵌入式开发需要编写复杂代码,而天问Block的图形化编程让创客们能像搭积木一样快速实现语音控制功能。本文将带你用…...

别再直接升glibc 2.25了!CentOS7下从2.17平滑升级到2.31的保姆级排雷手册

CentOS7下glibc升级避坑实战:从2.17到2.31的安全跃迁指南 当你在CentOS7服务器上部署最新中间件时,那个熟悉的报错信息又出现了——"GLIBC_2.25 not found"。作为运维老兵,我太了解这种被glibc版本束缚的无力感。但别急着执行yum u…...

Windows屏保设置失效?解锁注册表权限的终极指南

1. 为什么你的Windows屏保设置突然失效了? 最近有没有遇到过这种情况:明明想设置个屏保保护隐私,却发现所有选项都变成灰色不可点击?这个问题我帮不少朋友解决过,其实90%的情况都是注册表权限在作怪。Windows系统有个特…...