查询语句来提取 detail 字段中包含 xxx 的 URL 里的 commodity/ 后面的数字串

news2025/2/13 1:20:41

您可以使用以下 SQL 查询语句来提取 detail 字段中包含 oss.kxlist.com 的 URL 里的 commodity/ 后面的数字串:

<p><img style="max-width:100%;" src="https://oss.kxlist.com//8a989a0c55e4a7900155e7fd7971000b/commodity/20170925/20170925190215_f46831.jpg"/><br/></p><p><br/></p>
SELECT
    SUBSTRING_INDEX(
        SUBSTRING(detail, INSTR(detail, 'oss.kxlist.com')),
        'commodity/',
        -1
    ) AS extracted_number_string
FROM
    `product`
WHERE
    INSTR(`detail`, 'oss.kxlist.com') > 0
    AND INSTR(detail, 'commodity/') > INSTR(detail, 'oss.kxlist.com');

语句解释:

  1. SELECT ... FROM product WHERE ...: 这是基本的 SELECT 查询框架,从 product 表中选择数据,并使用 WHERE 子句进行条件筛选。

  2. WHERE INSTR(detail, 'oss.kxlist.com') > 0 AND INSTR(detail, 'commodity/') > INSTR(detail, 'oss.kxlist.com'): WHERE 子句包含两个条件,使用 AND 连接,确保同时满足:

    • INSTR(detail, 'oss.kxlist.com') > 0: 第一个条件,确保 detail 字段中包含 oss.kxlist.com。 这和我们之前的查询条件一样,用于筛选出包含旧域名的记录。
    • INSTR(detail, 'commodity/') > INSTR(detail, 'oss.kxlist.com'): 第二个条件,确保 commodity/ 出现在 oss.kxlist.com 之后。 这更精确地定位到您想要提取数字串的 URL 部分,避免误提取其他地方可能出现的 commodity/
  3. SUBSTRING_INDEX( ... , 'commodity/', -1): SUBSTRING_INDEX() 函数用于截取字符串,并根据指定的分隔符和计数返回子字符串。

    • SUBSTRING(detail, INSTR(detail, 'oss.kxlist.com')): 内层 SUBSTRING() 函数:
      • INSTR(detail, 'oss.kxlist.com'): 找到 detail 字段中 oss.kxlist.com 第一次出现的位置。
      • SUBSTRING(detail, INSTR(detail, 'oss.kxlist.com')): 从 detail 字段中,截取从 oss.kxlist.com 第一次出现的位置开始到字符串末尾 的子字符串。 这样做是为了先定位到包含旧域名的 URL 部分,再在这个子字符串中查找 commodity/
    • SUBSTRING_INDEX(..., 'commodity/', -1): 外层 SUBSTRING_INDEX() 函数:
      • 第一个参数是内层 SUBSTRING() 函数截取的结果 (即包含 oss.kxlist.com 开始的子字符串)。
      • 第二个参数 'commodity/' 是分隔符,我们想要根据 commodity/ 来分割字符串。
      • 第三个参数 -1 是计数。 -1 表示返回分隔符最后一次出现之后的所有子字符串。 由于我们已经用内层 SUBSTRING() 定位到了 URL 部分,并且 URL 结构通常是 ...oss.kxlist.com//.../commodity/数字串..., 使用 -1 可以直接提取 commodity/ 后面的部分,也就是您需要的数字串。
  4. AS extracted_number_string: AS 关键字用于给查询结果的列起一个别名,这里将提取出来的数字串列命名为 extracted_number_string,使结果更易于理解。

执行查询:

您可以使用 MySQL 客户端工具执行这个查询语句。 执行后,您将会得到一个结果集,每一行都包含一个名为 extracted_number_string 的列,列值就是 detail 字段中包含 oss.kxlist.com 的 URL 里, commodity/ 后面的数字字符串。

示例结果 (假设 detail 字段包含 <img src="//oss.kxlist.com//8a989a0c55e4a7900155e7fd7971000b/commodity/20170925/20170925190215_f46831.jpg"/>):

extracted_number_string
20170925/20170925190215_f46831.jpg"/>
… (其他符合条件的记录)

请注意:

  • 这个查询语句假设在包含 oss.kxlist.com 的 URL 中,commodity/ 后面紧跟着您需要的数字串。 如果 URL 结构更复杂,或者 commodity/ 后面的内容不总是数字串,您可能需要根据实际情况调整 SUBSTRING_INDEX() 函数的参数,或者使用更复杂的正则表达式或字符串处理方法来精确提取您想要的内容。
  • 提取出来的字符串可能仍然包含一些不需要的部分 (例如示例结果中的 "/> )。 如果您只需要纯数字部分,可能需要进一步使用字符串函数或正则表达式来清洗和提取。 但这个查询已经提取了 commodity/ 后面的主要部分,您可以在此基础上进行进一步处理。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

业务开发 | 基础知识 | Maven 快速入门

Maven 快速入门 1.Maven 全面概述 Apache Maven 是一种软件项目管理和理解工具。基于项目对象模型的概念&#xff08;POM&#xff09;&#xff0c;Maven 可以从中央信息中管理项目的构建&#xff0c;报告和文档。 2.Maven 基本功能 因此实际上 Maven 的基本功能就是作为 Ja…

机器学习 - 词袋模型(Bag of Words)实现文本情感分类的详细示例

为了简单直观的理解模型训练&#xff0c;我这里搜集了两个简单的实现文本情感分类的例子&#xff0c;第一个例子基于朴素贝叶斯分类器&#xff0c;第二个例子基于逻辑回归&#xff0c;通过这两个例子&#xff0c;掌握词袋模型&#xff08;Bag of Words&#xff09;实现文本情感…

【Android开发】Android Studio汉化

前言 该插件是官方支持插件&#xff0c;未对任何软件进行修改和破解 Android Studio 是基于 IntelliJ IDEA 社区版开发的集成开发环境&#xff08;IDE&#xff09;&#xff0c;专门用于Android应用程序的开发。以下是为什么 Android Studio 能使用 IntelliJ IDEA 插件的原因&am…

后端java工程师经验之谈,工作7年,mysql使用心得

mysql 工作7年&#xff0c;mysql使用心得 mysql1.创建变量2.创建存储过程2.1&#xff1a;WHILE循环2.2&#xff1a;repeat循环2.3&#xff1a;loop循环2.4&#xff1a;存储过程&#xff0c;游标2.5&#xff1a;存储过程&#xff0c;有输入参数和输出参数 3.三种注释写法4.case …

ArcGIS Pro批量创建离线服务sd包

背景&#xff1a; 主要针对一个工程内有多个地图框项&#xff1a; 处理方法&#xff1a;通过Python脚本处理打包。 运行环境 在Pro的Python环境中去运行编写的Python脚本。 Python 脚本参考 import arcpy import os# Set output file names outdir r"d:\data\out&…

基于DeepSeek API和VSCode的自动化网页生成流程

1.创建API key 访问官网DeepSeek &#xff0c;点击API开放平台。 在开放平台界面左侧点击API keys&#xff0c;进入API keys管理界面&#xff0c;点击创建API key按钮创建API key&#xff0c;名称自定义。 2.下载并安装配置编辑器VSCode 官网Visual Studio Code - Code Editing…

信创领域的PostgreSQL管理员认证

信创产业&#xff0c;全称为信息技术应用创新产业&#xff0c;是中国为应对国际技术竞争、保障信息安全、实现科技自立而重点发展的战略性新兴产业。其核心目标是通过自主研发和生态构建&#xff0c;逐步替代国外信息技术产品&#xff0c;形成自主可控的国产化信息技术体系。 发…

使用 Visual Studio Code (VS Code) 开发 Python 图形界面程序

安装Python、VS Code Documentation for Visual Studio Code Python Releases for Windows | Python.org 更新pip >python.exe -m pip install --upgrade pip Requirement already satisfied: pip in c:\users\xxx\appdata\local\programs\python\python312\lib\site-pa…

IEEE期刊Word导出PDF注意事项

在系统上提交论文时候一般要求PDF文档&#xff0c;但是word直接转PDF可能存在一些问题&#xff1a; 部分图片不清晰。字体未嵌入PDF。间距发生了变化。字体发生了变化。一张图片显示不完全。 下面介绍word转PDF最稳妥的技巧以及如何实现全部字体的嵌入。 1. 操作流程 ① 另…

如何在 Elasticsearch 中设置向量搜索 - 第二部分

作者&#xff1a;来自 Elastic Valentin Crettaz 了解如何在 Elasticsearch 中设置向量搜索并执行 k-NN 搜索。 本文是三篇系列文章中的第二篇&#xff0c;深入探讨了向量搜索&#xff08;也称为语义搜索&#xff09;的复杂性以及它在 Elasticsearch 中的实现方式。 第一部分重…

DeepSeek的出现会对百度有多大影响?

当DeepSeek与ChatGPT等大模型接管搜索入口&#xff0c;我们正见证百年一遇的信息革命。 01 传统搜索已死&#xff1f;AI助手正在重写游戏规则&#xff01; 当DeepSeek与ChatGPT等大模型接管搜索入口&#xff0c;我们正见证百年一遇的信息革命。 就像汽车淘汰马车、触屏终结按键…

PyQt学习记录01——加法计算器

目录 PyQt学习记录01——加法计算器 PyQt学习记录02——串口助手 0. 安装配置 0.1 安装相关库 首先打开你的PyCharm程序&#xff0c;然后新建一个目录用于学习&#xff0c;其次在terminal中输入 pip install pyqt5如果你不具有科学上网能力&#xff0c;请改为国内源 pip …

jenkins备份还原配置文件

下载ThinBackup插件 方式1 从插件市场直接下载 Manage Jenkins->Manage Plugins->可选插件搜索 注意&#xff1a;有时可能因为网络或者版本问题下载不了&#xff0c;好像是默认下载最新版本&#xff0c;可选择手动安装&#xff01; 方式二 手动安装插件 点击查看手…

02.11 数据库

1.思维导图 2.题目 将 epoll 服务器、客户端拿来用客户端&#xff1a;写一个界面&#xff0c;里面有注册登录服务器&#xff1a;处理注册和登录逻辑&#xff0c;注册的话将注册的账号密码写入数据库&#xff0c;登录的话查询数据库中是否存在账号&#xff0c;并验证密码是否正…

Spring Boot整合DeepSeek实现AI对话(API调用和本地部署)

本篇文章会分基于DeepSeek开放平台上的API&#xff0c;以及本地私有化部署DeepSeek R1模型两种方式来整合使用。 本地化私有部署可以参考这篇博文 全面认识了解DeepSeek利用ollama在本地部署、使用和体验deepseek-r1大模型 Spring版本选择 根据Spring官网的描述 Spring AI是一…

苹果转型独立AR眼镜:一场技术与创新的深度探索

在科技日新月异的今天,增强现实(AR)技术正逐渐从科幻电影走进我们的日常生活。作为科技界的领头羊,苹果公司的每一步动向都备受关注。近期,苹果宣布暂停原定的Mac连接式AR眼镜计划,转而全力研发一款独立的AR眼镜。这一战略调整不仅反映了苹果对AR市场的深度洞察,也预示着…

Java小白入门基础知识(一)

1.初识Java java源程序通过javac 编译生成字节码文件&#xff0c;通过java命令运行java程序 总结&#xff1a; 1&#xff09;在一个Java文件中&#xff0c;只能有一个public class 2&#xff09;public class一定要和文件名一致 3&#xff09;类里面包含方法 4&#xff09…

通过 Docker 安装和部署 KeyDB v6.3.4 的详细步骤

KeyDB 是一种高性能的开源内存数据库&#xff0c;最初是基于 Redis 项目开发的&#xff0c;但在性能、特性和功能上进行了许多增强和改进。它兼容 Redis 的大部分命令和数据结构&#xff0c;因此可以作为 Redis 的替代品使用&#xff0c;尤其是在需要更高性能和多线程支持的场景…

【JavaEE进阶】依赖注入 DI详解

目录 &#x1f334;什么是依赖注入 &#x1f384;依赖注入的三种方法 &#x1f6a9;属性注⼊(Field Injection) &#x1f6a9;Setter注入 &#x1f6a9;构造方法注入 &#x1f6a9;三种注⼊的优缺点 &#x1f333;Autowired存在的问题 &#x1f332;解决Autowired存在的…

Avnet RFSoC基于maltab得5G 毫米波 开发工具箱

使用 MATLAB 连接到 AMD Zynq™ RFSoC 评估板。使用 RF 附加卡执行 OTA 测试。使用 HDL Coder 部署算法 版本要求&#xff1a; 大于 2023b 需要以下支持包之一&#xff1a; 适用于 Xilinx 基于 Zynq 的无线电&#xff08;R2023b 及更早版本&#xff09;的通信工具箱支持包适…