mysql - 用中缀拼接姓氏
问题描述
我有一些用户在他们的姓氏中有中缀,例如Es
,Van Zaal
和Van der Dijk
.
我试图在三列中获取姓氏。
lastname
, without_infix
,infix
使用
IF(lastname = SUBSTRING_INDEX(lastname, ' ', -1), NULL, SUBSTRING_INDEX(lastname, ' ', -1))
Es
我可以正确地得到两者Van Zaal
。但是,有了这个,我没有得到der
from Van der Dijk
。
例子:
如果我有姓氏Es
,Van Zaal
并且Van der Dijk
我怎样才能得到这个结果?
解决方案
这是你想要的吗?
select lastname,
substring_index(lastname, ' ', -1) as without_prefix,
left(lastname, length(lastname) - length(substring_index(lastname, ' ', -1))) as prefix
这是一个 db<>fiddle。
推荐阅读
- react-native - 在 React Native 中,为什么我的图标没有右对齐?
- yii2 - Yii2 findBySql:如何指定$params?
- svg - Flutter 1.1.1 - 依赖项不再起作用
- r - R中的多级中介分析(2-1-1-2中介)
- forms - 将实体对象值传递给 Symfony4 表单中的嵌套 CollectionTypes
- haskell - Haskell递归很慢,有什么陷阱?
- javascript - 来自 react-bootstrap 的 ListGroupItem 和 Button 在同一行
- php - PHP函数或如何在一个页面上的不同实例中多次使用此代码,而不是使用php include
- json - 将 API 导入到 GoogleSheets
- javascript - 在 HTML 中移动 .js 函数中的按钮