String 将全名拆分为姓和名

String 将全名拆分为姓和名,string,oracle,String,Oracle,在甲骨文中,我想把下面的名字分成姓和名。请注意,全名可以有2个、3个、4个或更多单词。姓是姓。所以基本上我想要右边的第一个单词作为姓氏,左边剩下的字符串是名字 示例: “玛丽·爱德华·亚历克斯·塔里奥”-这里的姓氏应该是“塔里奥”,名字应该是“玛丽·爱德华·亚历克斯” “约翰·特拉沃尔塔”-这里姓“特拉沃尔塔”,名“约翰” 虽然您可以使用regexp\u substr()执行此操作,但使用基本字符串函数可能更简单: select substr(name, 1, length(name) - in

在甲骨文中,我想把下面的名字分成姓和名。请注意,全名可以有2个、3个、4个或更多单词。姓是姓。所以基本上我想要右边的第一个单词作为姓氏,左边剩下的字符串是名字

示例:

  • “玛丽·爱德华·亚历克斯·塔里奥”-这里的姓氏应该是“塔里奥”,名字应该是“玛丽·爱德华·亚历克斯”
  • “约翰·特拉沃尔塔”-这里姓“特拉沃尔塔”,名“约翰”

  • 虽然您可以使用
    regexp\u substr()
    执行此操作,但使用基本字符串函数可能更简单:

    select substr(name, 1, length(name) - instr(reverse(name), ' ')) as firstname,
           substr(name, length(name) - instr(reverse(name), ' ') + 1) as lastname
    

    姓氏总是一个字吗?如果全名是(名字:“迪克”)或(名字:“海伦娜”)?另见:我昨天忘了问:到目前为止你做了什么,为什么不奏效?嘿,戈登,谢谢你的快速回复。这起作用了。非常感谢您的帮助:)