【发布时间】:2019-03-08 14:15:15
【问题描述】:
我试图在一个看似古老的 DB2 版本中将全名字段拆分为单独的字段,因此我不能使用像 reverse 这样的新功能。
例子
FULL_NAME
埃尔顿·约翰先生
基努·里维斯先生
我想回来
标题在后
埃尔顿·约翰先生
基努·里维斯先生
我很沮丧,我已经设法用
获得姓氏RIGHT(NAME, LENGTH(NAME) - LOCATE( ' ',NAME, LOCATE(' ', NAME)+1)) AS last_name
但 DB2 并不是我真正喜欢的,因此非常感谢任何帮助!
谢谢!
【问题讨论】:
-
你怎么知道所有的名字都有三个组成部分?
-
正如@GordonLinoff 暗示的那样......如果您想要干净的数据,您需要处理所有情况。这意味着如果你有一个
Mr. Hunter S. Thompson或Sir Kermit the Frog在那里,你需要处理它。有很多潜在的例外情况。 -
我认为奇怪记录可能会丢失名字,但我会在导入时使用 ifnull 来处理。谢谢!