获取“/”字符后的字符串

2024-04-15

我想在 PostgreSQL SELECT 查询中提取字符“/”后面的字符串。

字段名称是source_path,表名是movies_history.

数据示例:

source_path 的值:

  • 184738/file1.mov
  • 194839/file2.mov
  • 183940/file3.mxf
  • 118942/文件4.mp4

等等。 source_path 的所有值均采用此格式

  • 随机数/文件名.xxx

我只需要获取“file.xxx”字符串。


如果你的情况就是这么简单(exactly one /在字符串中)使用split_part() https://www.postgresql.org/docs/current/functions-string.html#FUNCTIONS-STRING-OTHER:

SELECT split_part(source_path, '/', 2) ...

If可以有multiple /,并且您想要后面的字符串last一,一个简单快速的解决方案是向后处理字符串reverse() https://www.postgresql.org/docs/current/functions-string.html#FUNCTIONS-STRING-OTHER,取第一部分,并且reverse() again:

SELECT reverse(split_part(reverse(source_path), '/', 1)) ...

Or你可以使用更通用的(也更昂贵的)substring() https://www.postgresql.org/docs/current/functions-string.html#FUNCTIONS-STRING-OTHER用正则表达式:

SELECT substring(source_path, '[^/]*$') ...

解释:

[...].. 包含一个字符列表以形成字符类。
[^...]..如果列表开头为^这是反转(列表中没有的所有字符)。
*.. 0-n 次量词。
$.. 锚定到字符串末尾。

db<>fiddle
Old sqlfiddle http://sqlfiddle.com/#!17/9eecb/4675

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取“/”字符后的字符串 的相关文章

随机推荐

  • React Router 的 组件中的状态是什么?

    这是他们的文档的屏幕截图 成分 https i stack imgur com qt5zs png What state他们是什么意思 ARedux state 通过一个州是什么样子的 像这样 pathname foo query x th
  • 导入 matplotlib 时 numpy 的版本错误

    When I import matplotlib 我没有收到任何错误 但是当我 import matplotlib pyplot I get RuntimeError module compiled against API version
  • 尝试将我的 LogCat 输出到文件

    有人告诉我这是一个命令行选项 但是 Eclipse 的 Run Run Configurations Target Additional Emulator Command Line Options 字段已经被占用 sdcard C andr
  • 使用 Rstudio Keras 的暹罗网络

    我正在尝试使用 Rstudio Keras 包实现暹罗网络 我尝试实现的网络与您可以在中看到的网络相同这个帖子 https sorenbouma github io blog oneshot 因此 基本上 我将代码移植到 R 并使用 Rst
  • 如何知道webkitSpeechRecognition是否启动?

    我正在制作一个机器人来听我的声音 所以我做了 this recognition new webkitSpeechRecognition 我可以这样做来开始听 this recognition start 这是停止听 this recogni
  • Java:为什么这个交换方法不起作用? [复制]

    这个问题在这里已经有答案了 我有以下代码 public class Main static void swap Integer x Integer y Integer t x x y y t public static void main
  • 使用多个字段对 solr 搜索结果进行排序 (solrj)

    我需要根据两个因素对从 apache solr 返回的结果进行排序 我们的系统中有三个实体由 solr 索引 组 项目和数据集 在结果中我希望首先显示数据集 然后是项目 然后是组 但我仍然希望它尊重每种类型的评分值 因此 例如 结果将是 得
  • mysql 查找多列重复项

    如何查找多列的重复记录 表有主键 自动递增 EG ID a id b id 1 34 23 2 34 23 3 35 25 例如我想查找具有相同a id和b id的记录 Thanks select t ID t a id t b id fr
  • 如何找到激活时打开给定 HMENU 的菜单项(如果有)?

    我想用原型实现一个功能 Locates the menu item of the application which caused the given menu mnu to show up return true if the given
  • 如何将事件处理程序分配给 JavaScript 中的多个元素?

    我知道如何使用 jQuery 来做到这一点 并且我知道如何使用事件委托来做到这一点 但是如何在纯 JavaScript 中做到这一点呢 例如 如何将事件处理程序分配给一堆lis 我看到var li document querySelecto
  • 代码高尔夫:弗罗贝尼乌斯数

    Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 编写最短的程序来计算给定正数集的弗罗贝尼乌斯数 弗罗贝尼乌斯数是不能写成集合中数字的正倍数之和
  • CKEditor 5 通过外部 url 插入图像

    我想知道如何仅通过 URL 插入图像 用户从其他网站获取它 我需要实现一个简单的img 源 在 CKEditor 5 中 问题是 默认情况下 编辑器要求我上传图像 而我需要插入外部 url 我读过很多相关主题 1 https stackov
  • 带正文的 HttpDelete

    我正在尝试使用 HttpDelete 对象来调用 Web 服务的删除方法 Web 服务的代码从消息正文中解析 JSON 但是 我无法理解如何将主体添加到 HttpDelete 对象 有没有办法做到这一点 使用 HttpPut 和 HttpP
  • Python 的“导入”内部是如何工作的?

    当您导入一个模块 然后再次重新导入它时 它会被重新导入 覆盖还是跳过 当您导入模块 a 和 b 并且还在模块 a 中导入模块 b 时 会发生什么 这样做安全吗 例如 如果该模块 b 中有一个实例化的类 您最终会实例化它两次吗 import加
  • 我在使用阴影效果时表现不佳

    我在滚动视图上放置了一些图像视图 当我拖动这个滚动视图时 我没有遇到任何问题 但是 当我对这些图像视图应用阴影效果后 拖动此滚动视图的性能很差 我使用了shadowOpacity shadowRadius 和shadowOffset 方法
  • 使用流迭代 n 次,而不是使用 for 循环创建 n 项

    假设我想创建 n 个项目 在 Java 8 之前 我会这样写 List
  • 如何构建特定函数调用的图表?

    我有一个项目 我想动态构建特定函数调用的图表 例如 如果我有 2 个模板类 A 和 B 其中 A 有一个跟踪方法 保存为图形节点 B 有 3 个方法 非跟踪方法 跟踪方法和调用 A 的跟踪方法的跟踪方法 那么我希望能够仅将跟踪的方法调用注册
  • PyAudio 输入溢出

    我正在尝试用 python 发出实时绘图声音 我需要从我的麦克风中获取数据块 使用 PyAudio 尝试使用 import pyaudio import wave import sys chunk 1024 FORMAT pyaudio p
  • 查找字符串的*最*常见前缀 - 更好的方法吗?

    我有一个钥匙列表 foo a foo b foo c fnord 这里所有类似的解决方案都假设您没有fnord在你的文字中 我有这个代码可以完成这项工作 def detect prefix keys PCT 0 70 cutof pre l
  • 获取“/”字符后的字符串

    我想在 PostgreSQL SELECT 查询中提取字符 后面的字符串 字段名称是source path 表名是movies history 数据示例 source path 的值 184738 file1 mov 194839 file