可以使用 REGEXP_EXTRACT() 函数来拆分字符串。例如,假设我们有以下数据表:
name | |
---|---|
Alice Brown | alice123@email.com |
Bob Smith | bsmith567@gmail.com |
现在我们想将姓名拆分为名字和姓氏,可以使用以下查询:
SELECT
name,
REGEXP_EXTRACT(name, r'([^\s]+)\s(.+)') as first_name,
REGEXP_EXTRACT(name, r'\S+\s(.+)') as last_name,
email
FROM
mytable
在这个查询中,我们使用了 REGEXP_EXTRACT() 函数来拆分姓名。第一个括号包含了匹配到的第一个非空白字符和之后的所有字符,也就是名字。第二个括号匹配了第一个空白字符后面的所有字符,也就是姓氏。我们还包含了原始的 name 和 email 列,以便查询中显示所有数据。查询的结果如下:
name | first_name | last_name | |
---|---|---|---|
Alice Brown | Alice | Brown | alice123@email.com |
Bob Smith | Bob | Smith | bsmith567@gmail.com |
这样,我们就成功地将姓名拆分为名字和姓氏。