【问题标题】:List all the members whose name starts with R or G and contains letter I in it列出名称以 R 或 G 开头并包含字母 I 的所有成员
【发布时间】:2017-09-04 04:41:00
【问题描述】:

使用 REGEXP 列出名称以RG 开头并包含字母 I 的所有成员?

查询

SELECT *
FROM member
WHERE REGEXP_LIKE (member_name, '^[R|G]', 'i')
and REGEXP_LIKE (member_name, 'i', 'i');

我可以结合REGEXP_LIKE 表达式吗?

【问题讨论】:

    标签: sql regex oracle


    【解决方案1】:

    最简单的方法是使用LIKE 来达到预期的效果,如下所示:

    SELECT 
        name 
    FROM myName
    WHERE name LIKE '%l%' AND (name LIKE 'r%' OR name LIKE 'g%') 
    

    【讨论】:

      【解决方案2】:

      这对我有用:

      SELECT *
      FROM   member
      WHERE  REGEXP_LIKE (member_name, '^[R|G](.+)?i');
      

      这将选择名称以 R 或 G 开头的所有成员,后跟 any 或 no 字符和 i。

      【讨论】:

        【解决方案3】:

        在 SQL 中尝试这个查询:

        SELECT *
        FROM member
        where member_name LIKE '[R-G]%'
        

        【讨论】:

        • 这只会匹配以“[R-G]”开头的member_name
        • 结果:未找到数据 这甚至对于以 R 和 G 开头的 member_name 也不起作用 谢谢你帮助我
        猜你喜欢
        • 2020-11-29
        • 2015-04-06
        • 1970-01-01
        • 1970-01-01
        • 2020-05-25
        • 1970-01-01
        • 2020-10-01
        • 2019-07-31
        • 2013-10-01
        相关资源
        最近更新 更多