我试图在一个看似古老的DB2版本中将全名字段拆分为单独的字段,因此我不能使用诸如reverse之类的新功能。
示例
FULL_NAME
艾尔顿·约翰先生
基努·里维斯先生
我想回来
头衔第一名
艾尔顿·约翰先生
基努·里维斯先生
我很沮丧,我设法用
姓氏RIGHT(NAME, LENGTH(NAME) - LOCATE( ' ',NAME, LOCATE(' ', NAME)+1)) AS last_name
但是DB2并不是我真正的事,因此任何帮助都将受到赞赏!
谢谢!
答案 0 :(得分:2)
DB2支持regexp_substr()
,因此您应该能够做到:
select regexp_substr(name, '[^ ]+', 1, 1) as title,
regexp_substr(name, '[^ ]+', 1, 2) as firstname,
regexp_substr(name, '[^ ]+', 1, 3) as lastname
但是如果您没有reverse()
,则可能也没有此功能。