如何获取字符串中所有匹配的位置?

2024-03-28

我有一个专栏flag_acumu在 PostgreSQL 的表中,其值如下:

'SSNSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN'

我需要用“S”显示所有位置。通过这段代码,我只能得到第一个这样的位置,而不能得到后面的位置。

SELECT codn_conce, flag_acumu, position('S' IN flag_acumu) AS the_pos 
FROM dh12 
WHERE position('S' IN flag_acumu) != 0 
ORDER BY the_pos ASC;

如何获得全部?


在 Postgres 中9.4或者以后您可以方便地使用unnest()结合WITH ORDINALITY:

SELECT *
FROM   dh12 d
JOIN   unnest(string_to_array(d.flag_acumu, NULL))
          WITH ORDINALITY u(elem, the_pos) ON u.elem = 'S'
WHERE  d.flag_acumu LIKE '%S%'  -- optional, see below
ORDER  BY d.codn_conce, u.the_pos;

每次匹配返回一行。WHERE d.flag_acumu LIKE '%S%'是可选的,可以快速消除没有任何匹配的源行。如果有多个这样的行,则需要付费。

旧版本的详细解释和替代方案:

  • PostgreSQL unnest() 与元素编号 https://stackoverflow.com/questions/8760419/postgresql-unnest-with-element-number/8767450#8767450
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取字符串中所有匹配的位置? 的相关文章

随机推荐

  • 导入错误:“图标”未从“antd”导出

    我创建了一个 React 应用程序 并且正在使用 Ant Design antd 在我的一个项目文件中 我想使用该标签 但我不能 显然这是 ANT V4 上的问题 我正在使用以下导入语句 import Icon from antd 并收到以
  • d3.js 在非 svg 元素上强制布局

    d3 js layout force 可以用于 重新 定位 div 等 svg 元素吗 如果 div 有position absolute maybe left and top可以用作等效项x1 and y1用于 svg 元素的属性 目标是
  • 如何将子节点从一个节点复制到另一个节点?

    情况 我需要下载 childNode 然后将其 set 到另一个节点中 问题是我只想在 childNode 的 Score 属性达到 100 时才执行此操作 我应该在何时何地检查帖子的分数是否为 100 或更高 以及如何将它们复制到新索引一
  • jQuery 选择器 jQuery("element") 和 $("element") 有什么区别?

    我以前多次使用过 jQuery 但总是这样使用 document 最近我多次看到有人使用jQuery document 我不知道它们之间的区别 我认为它们是相同的 但我现在有一个非常困难的问题 你知道 jQuery 插件的大部分用途 doc
  • GMSPolyline 非常大的内存峰值

    在允许用户在各种不同类型的地图上显示我们称之为轨迹的复杂位置点列表的 GPS 应用程序中 每个轨迹可以包含 2k 到 10k 个位置点 当轨迹在非 Google 地图类型上呈现时 它们会被大量剪切 修剪和路径简化 这是为了降低内存使用量并提
  • Ubuntu 上的 MonoDevelop 和 libpjsipDll.so 库。系统.DllNotFoundException

    我正在尝试在 Linux 上使用一个名为 libpjsipDll v44 so我从这里得到的http code google com p sipeksdk downloads list http code google com p sipe
  • 使用 strsplit 中长度不等的 ldply

    我正在尝试根据一些分隔符将数据框列拆分为多个列 我在这个网站上找到了各种答案 并且我正在尝试寻找不同的工作方式 我遇到麻烦了ldply 问题是输出strsplit是不同长度元素的列表 这是一些示例数据 有效的数据以及我正在尝试的数据ldpl
  • 哪里可以找到系统调用源代码?

    在 Linux 中 如果我有源代码树 在哪里可以找到所有系统调用的源代码 另外 如果我想查找特定系统调用的源代码和程序集 我可以在终端中输入类似的内容my system call 您需要 Linux 内核源代码才能查看系统调用的实际源代码
  • 在 Gatsby.js 中以编程方式创建多种类型的页面

    我正在使用 GatsbyJS 构建一个网站 我在两个不同的文件夹中有 markdown 文件 content collections and content posts我希望 Gatsby 为每个 Markdown 文件创建一个页面 并使用
  • 在 R / ggplot 中,plotly 没有获取 geom_text

    我有一个 ggplot 它自己工作得很好 但是当我尝试将其导入到plotly api系统中时 geom text似乎不起作用 其他一切都有效 谁能帮我 这是我的 R 版本 R 版本 3 1 2 2014 10 31 和情节版本 0 5 23
  • Android:绝对布局?

    我是安卓新手 我喜欢在任何我想要的地方自由地绘制对象 所以我一直在使用绝对布局 我收到一条消息 要求使用不同的布局 我读到这是因为不同手机的分辨率不同 我的问题是 这是不使用绝对布局的唯一原因吗 我制定了一种使用指标来调整像素的方法 pub
  • UPPAAL 错误 - java.io.IOException:服务器连接丢失

    我正在学习形式验证 我应该使用我刚接触的 UPPAAL 但是 每次启动 UPPAAL 时 都会遇到以下错误 java io IOException Server Connection Lost 有什么办法可以修复这个错误吗 我在 64 位机
  • 将用户从 Google Checkout 映射到 Android 许可响应

    我正在使用 Android 许可 如下所述 http developer android com guide market licensing index html http developer android com guide mark
  • 使用php触发另一个php脚本,然后忽略

    我正在尝试弄清楚该怎么做是这样的 我有一个 php 文件 让我们调用trigger php运行一些 php 代码来启动我们将调用的另一个 php 文件backgroundProcess php开始处理 虽然trigger php需要忽略发生
  • 新手:“rake -T”时出现错误消息

    我在用红宝石企业版对于我的项目 当我检查我所有的耙任务通过运行命令rake T 我收到以下错误消息 You have already activated rake 0 9 2 2 but your Gemfile requires rake
  • Spring Security 访问因缺少角色而被拒绝记录

    对于 Spring Security 中的访问被拒绝登录 是否有开箱即用的解决方案 我想要的基本上是显示用户在收到访问被拒绝异常时缺少哪个角色 如果没有 我必须走上拥有自己的 accessDeniedHandler 的道路 如何访问在该控制
  • RESTful 资源和正交资源问题

    如果我使用的 3 层应用程序具有通过 HTTP 访问的中间层中的面向 RESTful 资源的服务 那么向 UI 层提供正交资源的最佳方式是什么 一个例子是 用户 资源 它具有一个国家 地区的字段 属性 现在在 UI 层中编辑用户时 我希望能
  • WordPress,使用 cookie 进行类别重定向

    我想要实现的目标 当用户访问该网站并选择特定类别时 他们下次访问该网站 回访用户 时 该页面将在该类别部分打开 我认为 通过在访问者单击类别链接 或加载类别页面时 时设置 cookie 这将相当容易做到 当它们返回以下时间时 将读取 coo
  • 在 Django/mod_wsgi 虚拟环境中配置 WSGIPythonHome 的问题

    我在 Windows 10 上运行 Python 3 7 1 和 Apache 2 4 38 我设置了一个虚拟环境 其中包含通过 pip 安装的 Django 2 2 5 和 mod wsgi 4 6 5 在 httpd conf 内部 我
  • 如何获取字符串中所有匹配的位置?

    我有一个专栏flag acumu在 PostgreSQL 的表中 其值如下 SSNSSNNNNNNNNNNNNNNNNNNNNNNNNNNNNSNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN 我需要用 S 显