本章节介绍sort()函数的用法。
描述:
对序列成员排序。
语法:
A.sort( x ;loc)
A.sort(xi:di,...... ;loc)
备注:
根据表达式x值及loc语言对序列A的成员排序;当A为空序表时,返回A本身并保留其数据结构。loc省略则比较Unicode值。默认为升序排序。
参数:
A |
序列。 |
x |
排序表达式。 |
xi |
排序表达式,多个xi时,依次按照xi的先后顺序对A成员排序。 |
di |
排序方向,di >0时升序,di <0时降序,缺省为升序。 |
loc |
语言名,不区分大小写。 |
loc的取值为:
ja_JP |
日文 |
日本 |
es_PE |
西班牙文 |
秘鲁 |
en |
英文 |
|
ja_JP_JP |
日文 |
日本 |
es_PA |
西班牙文 |
巴拿马 |
sr_BA |
塞尔维亚文 |
波斯尼亚和黑山共和国 |
mk |
马其顿文 |
|
es_GT |
西班牙文 |
危地马拉 |
ar_AE |
阿拉伯文 |
阿拉伯联合酋长国 |
no_NO |
挪威文 |
挪威 |
sq_AL |
阿尔巴尼亚文 |
阿尔巴尼亚 |
bg |
保加利亚文 |
|
ar_IQ |
阿拉伯文 |
伊拉克 |
ar_YE |
阿拉伯文 |
也门 |
hu |
匈牙利文 |
|
pt_PT |
葡萄牙文 |
葡萄牙 |
el_CY |
希腊文 |
塞浦路斯 |
ar_QA |
阿拉伯文 |
卡塔尔 |
mk_MK |
马其顿文 |
马其顿王国 |
sv |
瑞典文 |
|
de_CH |
德文 |
瑞士 |
en_US |
英文 |
美国 |
fi_FI |
芬兰文 |
芬兰 |
is |
冰岛文 |
|
cs |
捷克文 |
|
en_MT |
英文 |
马耳他 |
sl_SI |
斯洛文尼亚文 |
斯洛文尼亚 |
sk_SK |
斯洛伐克文 |
斯洛伐克 |
it |
意大利文 |
|
tr_TR |
土耳其文 |
土耳其 |
zh |
中文 |
|
th |
泰文 |
|
ar_SA |
阿拉伯文 |
沙特阿拉伯 |
no |
挪威文 |
|
en_GB |
英文 |
英国 |
sr_CS |
塞尔维亚文 |
塞尔维亚及黑山 |
lt |
立陶宛文 |
|
ro |
罗马尼亚文 |
|
en_NZ |
英文 |
新西兰 |
no_NO_NY |
挪威文 |
挪威 |
lt_LT |
立陶宛文 |
立陶宛 |
es_NI |
西班牙文 |
尼加拉瓜 |
nl |
荷兰文 |
|
ga_IE |
爱尔兰文 |
爱尔兰 |
fr_BE |
法文 |
比利时 |
es_ES |
西班牙文 |
西班牙 |
ar_LB |
阿拉伯文 |
黎巴嫩 |
ko |
朝鲜文 |
|
fr_CA |
法文 |
加拿大 |
et_EE |
爱沙尼亚文 |
爱沙尼亚 |
ar_KW |
阿拉伯文 |
科威特 |
sr_RS |
塞尔维亚文 |
塞尔维亚 |
es_US |
西班牙文 |
美国 |
es_MX |
西班牙文 |
墨西哥 |
ar_SD |
阿拉伯文 |
苏丹 |
in_ID |
印度尼西亚文 |
印度尼西亚 |
ru |
俄文 |
|
lv |
拉托维亚文(列托) |
|
es_UY |
西班牙文 |
乌拉圭 |
lv_LV |
拉托维亚文(列托) |
拉脱维亚 |
iw |
希伯来文 |
|
pt_BR |
葡萄牙文 |
巴西 |
ar_SY |
阿拉伯文 |
叙利亚 |
hr |
克罗地亚文 |
|
et |
爱沙尼亚文 |
|
es_DO |
西班牙文 |
多米尼加共和国 |
fr_CH |
法文 |
瑞士 |
hi_IN |
印地文 |
印度 |
es_VE |
西班牙文 |
委内瑞拉 |
ar_BH |
阿拉伯文 |
巴林 |
en_PH |
英文 |
菲律宾 |
ar_TN |
阿拉伯文 |
突尼斯 |
fi |
芬兰文 |
|
de_AT |
德文 |
奥地利 |
es |
西班牙文 |
|
nl_NL |
荷兰文 |
荷兰 |
es_EC |
西班牙文 |
厄瓜多尔 |
zh_TW |
中文 |
台湾地区 |
ar_JO |
阿拉伯文 |
约旦 |
be |
白俄罗斯文 |
|
is_IS |
冰岛文 |
冰岛 |
es_CO |
西班牙文 |
哥伦比亚 |
es_CR |
西班牙文 |
哥斯达黎加 |
es_CL |
西班牙文 |
智利 |
ar_EG |
阿拉伯文 |
埃及 |
en_ZA |
英文 |
南非 |
th_TH |
泰文 |
泰国 |
el_GR |
希腊文 |
希腊 |
it_IT |
意大利文 |
意大利 |
ca |
加泰罗尼亚文 |
|
hu_HU |
匈牙利文 |
匈牙利 |
fr |
法文 |
|
en_IE |
英文 |
爱尔兰 |
uk_UA |
乌克兰文 |
乌克兰 |
pl_PL |
波兰文 |
波兰 |
fr_LU |
法文 |
卢森堡 |
nl_BE |
荷兰文 |
比利时 |
en_IN |
英文 |
印度 |
ca_ES |
加泰罗尼亚文 |
西班牙 |
ar_MA |
阿拉伯文 |
摩洛哥 |
es_BO |
西班牙文 |
玻利维亚 |
en_AU |
英文 |
澳大利亚 |
sr |
塞尔维亚文 |
|
zh_SG |
中文 |
新加坡 |
pt |
葡萄牙文 |
|
uk |
乌克兰文 |
|
es_SV |
西班牙文 |
萨尔瓦多 |
ru_RU |
俄文 |
俄罗斯 |
朝鲜文 |
韩国 |
|
vi |
越南文 |
|
ar_DZ |
阿拉伯文 |
阿尔及利亚 |
vi_VN |
越南文 |
越南 |
sr_ME |
塞尔维亚文 |
黑山 |
sq |
阿尔巴尼亚文 |
|
ar_LY |
阿拉伯文 |
利比亚 |
ar |
阿拉伯文 |
|
zh_CN |
中文 |
中国 |
be_BY |
白俄罗斯文 |
白俄罗斯 |
zh_HK |
中文 |
香港 |
ja |
日文 |
|
iw_IL |
希伯来文 |
以色列 |
bg_BG |
保加利亚文 |
保加利亚 |
in |
印度尼西亚文 |
|
mt_MT |
马耳他文 |
马耳他 |
es_PY |
西班牙文 |
巴拉圭 |
sl |
斯洛文尼亚文 |
|
fr_FR |
法文 |
法国 |
cs_CZ |
捷克文 |
捷克共和国 |
it_CH |
意大利文 |
瑞士 |
ro_RO |
罗马尼亚文 |
罗马尼亚 |
es_PR |
西班牙文 |
波多黎哥 |
en_CA |
英文 |
加拿大 |
de_DE |
德文 |
德国 |
ga |
爱尔兰文 |
|
de_LU |
德文 |
卢森堡 |
de |
德文 |
|
es_AR |
西班牙文 |
阿根廷 |
sk |
斯洛伐克文 |
|
ms_MY |
马来文 |
马来西亚 |
hr_HR |
克罗地亚文 |
克罗地亚 |
en_SG |
英文 |
新加坡 |
da |
丹麦文 |
|
mt |
马耳他文 |
|
pl |
波兰文 |
|
ar_OM |
阿拉伯文 |
阿曼 |
tr |
土耳其文 |
|
th_TH_TH |
泰文 |
泰国 |
el |
希腊文 |
|
ms |
马来文 |
|
sv_SE |
瑞典文 |
瑞典 |
da_DK |
丹麦文 |
丹麦 |
es_HN |
西班牙文 |
洪都拉斯 |
选项:
@u |
按照指定字段实现多层次数据的原序排序,即以记录第一次出现的位置作为排序依据。 |
@m |
数据量大的复杂运算中并行计算提升性能。 |
@z |
逆序排列。 |
sort@n(x) |
提高效率,x返回值是正整数时才可用该选项,可以直接用序号定义。 |
@0 |
把null排到最后。 |
@v |
A是纯序表时,返回成纯序表,缺省返回成纯序列。 |
返回值:
序列
示例:
|
A |
|
1 |
=[2,1,3,8,6,5] |
|
2 |
=A1.sort() |
[1,2,3,5,6,8] |
3 |
=["中国","安阳","地区","模型"].sort(;"zh") |
按本地语言“zh”,中文排序:
|
4 |
=demo.query("select * from EMPLOYEE") |
|
5 |
=A4.sort(DEPT,BIRTHDAY:-1) |
先按DEPT升序,再按BIRTHDAY降序。 |
6 |
=file("D:/txt/test1.txt").import@t() |
|
7 |
=A6.sort@u(f1,f2,f3) |
针对字段f1、f2、f3实现多层原序排序。
|
8 |
=demo.query("select * from EMPLOYEE") |
|
9 |
=A8.sort@m(DEPT,BIRTHDAY:-1) |
数据量大时提升性能。 |
10 |
=A1.sort@z() |
[8,6,5,3,2,1] |
11 |
=[2,1,3,,8,6,5] |
|
12 |
=A11.sort() |
[null,1,2,3,5,6,8] |
13 |
=A12.sort@0() |
[1,2,3,5,6,8,null] |
相关概念: