我们有一个只有一个名为Names的字段名的表。
此字段名中有多行长值。
下面是每行值的长度示例。
Names
0000000024DOE JAMES JAN E102/02/1988107/11/2007 13011UNASSIGNED EMPLOYEEID 0175420670 3303302 - DY1 B100 1000 - 07/11/2007 0000028800 0000040849 0000173045 0000021600
etc
etc
是否可以只从类似上面的列表中提取名称?
例如,我们想要提取DOE JAN而忽略剩下的值。
有时候,名字有一个中间的首字母。
示例:
0000000024DOE JAMES JAN E102/02/1988107/11/2007 13011UNASSIGNED EMPLOYEEID 0175420670 3303302 - DY1 B100 1000 - 07/11/2007 0000028800 0000040849 0000173045 0000021600
在此示例中,我们要提取的值是Doe Jan E.
如果有可能,有什么想法可以解决吗?
答案 0 :(得分:0)
假设名称从第11位开始,并以3个数字和斜线结束,以下内容应该为您完成。
SUBSTRING(Names, 11, PATINDEX('%[0-9][0-9][0-9]/%', Names) - 11)
PATINDEX根据通配符模式返回位置。