ms-access - 获取名字和姓氏
问题描述
我在表格中有一个数据作为全名。这些名称包含“姓氏、名字中间名”我需要从全名中获取名字、姓氏和中间名并将它们存储在不同的字段中。
例如,我在表中有全名 -
威廉姆斯,罗伯特·K
温彻斯特,山姆 T
我需要将它们存储为
FirstName Last_Name MName
Robert Williams K
Sam Winchester T
我在女士访问的一些桌子上做这件事。任何人都可以帮助我如何实现这一目标。
解决方案
这是对非 VBA 解决方案的尝试:
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
以适合您的表名。
假设
没有逗号意味着该名称是名字(可能是中间名)。
假定中间名首字母始终为 1 个字符
例子
给定样本数据:
+--------------------+
| 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 |
+--------+------------+-------+
推荐阅读
- jquery - 如何将 Jquery 与 Asp.Net Mvc Core 2.2 的 html 助手一起使用
- angular - Angular 6 ng-空闲
- c# - 在局部视图中存储会话
- php - 如何为一页上的多个产品设置 Php/Stripe 结帐...?
- c# - 如何使用 Rx.NET 接收回调?
- python - 指定 Windows 以使用 Anaconda Python 解释器
- python - 如何选择正确的颜色来使用 OpenCV 对图像进行阈值处理?
- nsis - 卸载 NSIS 安装程序时如何更改位图图像
- c# - 为什么尽管算术运算符有明显溢出但没有编译时错误
- ios - UIActivityIndicatorView 未显示在 iOS UIViewController 中