PostgreSQL:使用 LIKE 过滤掉以 'K' 开头的姓氏

PostgreSQL: Using LIKE to filter out last names that start with a 'K'

Table 称为 sales_reps,其中包括: 身份证号,姓名,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' 开头的帐户?

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

where sales_reps.name like '% K%'

从技术上讲,以上内容将 select 具有 space 后跟大写字母 K 的帐户。

如果无法假设,那么您可以将字符串拆分 spaces 并检查最后一个单词。

使用正则表达式运算符,我们可以尝试:

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

Demo