提取名字和姓氏 [英] Fetching first name and last name

查看:77
本文介绍了提取名字和姓氏的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在表中有一个全名的数据.这些名称包含姓氏,名字中间名",我需要从全名中提取名字,姓氏和中间名并将它们存储在不同的字段中.

I have a data in tables as full name. These name contains "Last_Name, First Name Middle Name" I need to fetch first name, last name and middle name from full name and store them in different fields.

例如,我在表中的全名是-

For example, I have full names in table as -

  • 威廉姆斯,罗伯特·克

  • Williams, Robert K

温彻斯特(Sam T)

Winchester, Sam T

我需要将它们存储为

FirstName        Last_Name       MName
Robert            Williams         K
Sam               Winchester       T

我正在女士访问权限的某些表上执行此操作.谁能帮我实现这个目标.

I am doing it on some tables in Ms access. Can anybody please help me how I can achieve this.

推荐答案

以下是非VBA解决方案的尝试:

Here's an attempt at a non-VBA solution:

select
    iif(t.name like "*,*", trim(mid(t.name, instr(t.name, ",")+1, len(t.name) - instr(t.name, ",") - iif(t.name like "* ?", 2, 0))), iif(t.name like "* ?", left(t.name, len(t.name)-2), t.name)) as FName, 
    iif(t.name like "*,*", left(t.name, instr(t.name, ",")-1), Null) as LName,
    iif(trim(t.name) like "* ?", right(trim(t.name), 1), Null) as MName
from
    YourTable t

更改YourTable以适合您的表名.

  • 如果没有逗号,则表示该名称是名字(可能是中间名).

  • The absence of a comma implies that the name is a first name (and possible middle-initial).

假定中间的首字母始终为1个字符

Middle initials are assumed to always be 1 character

给出示例数据:

+--------------------+
|        Name        |
+--------------------+
| Williams, Robert K |
| Winchester, Sam T  |
| Smith, John        |
| Jack A             |
| Harry              |
| ,Thomas T          |
+--------------------+

上面的查询将产生:

+--------+------------+-------+
| FName  |   LName    | MName |
+--------+------------+-------+
| Robert | Williams   | K     |
| Sam    | Winchester | T     |
| John   | Smith      |       |
| Jack   |            | A     |
| Harry  |            |       |
| Thomas |            | T     |
+--------+------------+-------+

这篇关于提取名字和姓氏的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆