2016-06-08 45 views
0

新手问题在这里。 如何通过LEN(Firstname)Desc对lastName asc进行排序,然后按lastName asc对员工表进行排序?Progress OpenEdge如何按字符长度排序

这里是我的代码至今:

output to /usr2/appsrv/test/Test.txt. 
def var dRow as char. 
for each emp by emp.FirstName no-lock: 
    dRow = substitute ("&1,&2", emp.FirstName, emp.LastName). 
    put unformatted dRow skip. 
end. 
put unformatted dRow skip. 
output close. 

我对版本11.3.3

谢谢

+0

长度与此有什么关系?你在标题中提到它,但不在体内。我很困惑。 –

+0

哎呀对不起,我打算说名字的长度DESC。原始帖子修改。谢谢 – BobNoobGuy

回答

2
for each emp by length(emp.firstName) descending by lastName: 
    display emp.firstName emp.lastName. 
end. 

性能就会发臭,如果这是一个大桌子。

+0

如果这是需要经常进行的操作,并且需要在很多记录上进行操作,那么最好添加一个字段,其中包含第一个名称的长度和顺序。请记住,名称更新时需要更新。 – Jensd

0
for each emp no-lock by emp.FirstName desc by emp.LastName : 
+0

对不起,我在这个问题上犯了一个错误。我的意思是按len(firstname)desc然后按姓氏排序 – BobNoobGuy