我在SQL Server数据库上有一个字段,其中包含数字和字母,如下所示:
姓氏姓氏1姓氏3333 1T NP
该字段是nchar数据类型
我需要在字段中提取名称surname1和surname2,并在报告的其他字段中使用3333。
我使用了这段代码
Whileprintingrecords;
stringvar array Names := split({Table.Field}," ");
If ubound(Names) >=3 then
Names [1] + " " +Names [2] +" " + Names [3];
但仅适用于名称和姓氏,例如“name surname1 surname2”
问题是该名称可以是“Jose Luis”,姓氏1或姓氏2“De La Bella”
找到数字时如何分割字段?
谢谢!
答案 0 :(得分:0)
如果数据字段是一致的&你可以保证最后三个指数是保留的...... 只是连接你知道将成为name,surname1和&的一部分的索引。 surname2(例如,直到数字的索引)
WhilePrintingRecords;
Local StringVar Array Names := SPLIT({Table.Field}, " ");
Local StringVar Name := "";
Local NumberVar index := 0;
Local NumberVar limit := UBOUND(Names)-3;
For index := 1 To limit Do(
Name := Name & Names[index] & IIF(index = limit, "", " ");
);
Name