首页 > 解决方案 > 用中缀拼接姓氏

问题描述

我有一些用户在他们的姓氏中有中缀,例如Es,Van ZaalVan der Dijk.

我试图在三列中获取姓氏。 lastname, without_infix,infix

使用

IF(lastname = SUBSTRING_INDEX(lastname, ' ', -1), NULL, SUBSTRING_INDEX(lastname, ' ', -1))

Es我可以正确地得到两者Van Zaal。但是,有了这个,我没有得到derfrom Van der Dijk

例子:

如果我有姓氏EsVan Zaal并且Van der Dijk

结果应该是 示例结果

我怎样才能得到这个结果?

标签: mysqlsql

解决方案


这是你想要的吗?

select lastname,
       substring_index(lastname, ' ', -1) as without_prefix,
       left(lastname, length(lastname) - length(substring_index(lastname, ' ', -1))) as prefix

是一个 db<>fiddle。


推荐阅读