VB程序员博客

VB程序开发

DBF数据格式如下:
sn              data
AAA-1            122
AAA-2            222
AAA-3            221
AAA-10            11
AAA-11            22
AAA-13            44
AAA-21            77
————————-
需查找sn列中去掉“AAA-”后的数字大于10的sn,data列。
请问SQL语句如何写?

如果sql = "select sn,data from tableName where sn>'AAA-10' order by sn"
貌似会AAA-2 > AAA-10
可我要求的的是AAA-10  >  AAA-2

DBF没用过,不知道相关函数,比如ACCESS可以:

sql = "select sn,data from tableName where clng(mid(sn,5))>10 order by clng(mid(sn,5)"
如果AAA-不是固定的,可用一下instr

sql = "select sn,data from tableName where sn>'AAA-10' and length(sn)>5 order by sn"

access
SELECT sn, data from mytable where clng(mid(sn,5,len(sn)-4))>10


标签: , , ,