Access按文本字段順序排序

2018-09-29 15:15:00
roych
原創
502

在Access數據錶中,我們需要對數據按序號進行排序。如果是文本類型,卽不會按阿拉伯數字大小排序。

比如説錶中數據有文件編號,文件編號爲   公告[2017]3號,[2017]12號......需要按文件編號順序排序


這裡如果用繫統自帶的排序功能或者直接用order by排序都是不正確的。



所以需要創建查詢,分彆提取年份和號數,然後排序

SELECT 錶1.文件編號, CLng(Mid([文件編號],InStr(1,[文件編號],"[")+1,4)) AS 年份, CLng(Mid([文件編號],InStr(1,[文件編號],"]")+1,InStr(1,[文件編號],"號")-InStr(1,[文件編號],"]")-1)) AS 編號
FROM 錶1
ORDER BY CLng(Mid([文件編號],InStr(1,[文件編號],"[")+1,4)), CLng(Mid([文件編號],InStr(1,[文件編號],"]")+1,InStr(1,[文件編號],"號")-InStr(1,[文件編號],"]")-1));

    分享