【问题标题】:PostgreSQL: Using LIKE to filter out last names that start with a 'K'PostgreSQL:使用 LIKE 过滤掉以“K”开头的姓氏
【发布时间】:2020-01-15 04:57:37
【问题描述】:

表名为 sales_reps,其中包括: id, name, region_id

示例数据:

id    |    name     | region_id
324133| James Kerr  | 2    
123456| John Doe    | 2    
456789| Terry Koos  | 4    
123678| Ana Mars    | 3

 

SELECT *

FROM sales_reps

WHERE sales_reps.name LIKE......

我将如何完成此操作以使其仅选择姓氏以“K”开头的帐户?

【问题讨论】:

    标签: postgresql sql-like


    【解决方案1】:

    使用正则表达式,我们可以试试:

    SELECT *
    FROM sales_reps
    WHERE name ~ '\yK\S+$';
    

    Demo

    【讨论】:

      【解决方案2】:

      假设所有名字都是名字姓氏

      where sales_reps.name like '% K%'
      

      从技术上讲,上面将选择具有空格后跟大写字母 K 的帐户。

      如果不能假设,那么您可以用空格分隔字符串并检查最后一个单词。

      【讨论】:

        猜你喜欢
        • 2015-09-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-03
        • 1970-01-01
        相关资源
        最近更新 更多