【问题标题】:Search PostgreSQL column for substring在 PostgreSQL 列中搜索子字符串
【发布时间】:2019-09-11 16:15:49
【问题描述】:

我有一个数据库列,其中包含这样的条目:

  • “56/45/34”
  • “78/34/145”
  • “45”
  • ""(即 NULL)

我想搜索与某个数字匹配的行 - 例如,“45”应该返回第一行和第三行,而不是第二行。

【问题讨论】:

    标签: sql postgresql


    【解决方案1】:

    我们可以在这里尝试使用带有单词边界的正则表达式方法:

    select col
    from your_table
    where col ~* '\y45\y';
    

    Demo

    【讨论】:

      【解决方案2】:

      您可以将分隔的字符串转换为数组,然后对数组进行测试

      select *
      from the_table
      where '45' = any(string_to_array(the_column, '/'))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-09-22
        • 1970-01-01
        • 1970-01-01
        • 2022-11-18
        • 2019-10-06
        • 2022-11-19
        相关资源
        最近更新 更多