foxpro命令集


select distinct ksh from a(找有无重复记录)

select * from a where ksh in(select ksh from a group by ksh having count(*)>1)(找重复记录)

select * from a where ksh in(select ksh from a group by ksh having count(*)>1) order by ksh(找重复记录,结果排序)

select * from a where ksh in(select ksh from a group by ksh having count(*)>1) order by ksh to print(找重复记录,全部字段结果排序发送打印机)

select ksh,xm,xh from a where ksh in(select ksh from a group by ksh having count(*)>1) order by ksh to print(找重复记录,部分字段结果排序发送打印机)

repl all 字段名 with alltr(字段名)(删除字段前的空字符)

insert blank (指定的记录后面插入新记录)


select * from a where DELETED()=.T. (选出有删除标记的记录)

replace csrq with substr(sfzh,7,8) for substr(sfzh,7,1)='1' all (从身份证号上提取出生日期)
=IF(LEN(A5)=15,"19"&MID(A5,7,6),IF(LEN(A5)=18,MID(A5,7,8),""))



select * from a where xm_a<>xm_b (查找不一致的姓名)

repl all csrq with substr(sfzh,7,8) (从身份证号上提取出生日期)

APPEND FROM XLBACK2005_65_CR.TXT(文件名) DELI WITH TAB


update 表 set 专业='化学'where 专业='***' or 专业='***' (将某一字段替换为指定。。。)
update aakm1 set yz='物理'where yz='2'

SELECT (2007-VAL(LEFT(csrq,4))) as aaa,COUNT(*) FROM a GROUP BY aaa (从身份证号上提取出生日期)

SELECT ZYMC,COUNT(*) FROM A GROUP BY ZYMC (统计各专业人数)


年龄分段统计命令
第一步:建立NL数值型字段,宽度为2
第二步:repl all nl with 2004-val(left(csrq,4))+iif(subs(csrq,5,2)<'09',1,0) repl all nl with 2006-val(left(csrq,4))+iif(subs(csrq,5,2)<='09',1,0)-1(计算截至“2005年9月1 日”的年龄(周岁)
sele nl,coun(*) from 东部新生 group by nl year(date())-val(left(csrq,4))+iif(subs(csrq,5,2)<='09',1,0)-1(此命令针对出生日期为数值型的)* 计算截至“2005年9月1 日”的年龄(周岁)
repl all nl with year(date())-year(csrq)+iif(month(csrq)<=9,1,0)-1(此命令针对出生日期为日期型的)
vf6.0、vf5.0中均适用,其中IIF函数中用于比较月份,早于9月出生的加1岁;最后的“-1”用于计算周岁。

然后用这个命令
repl all nl with 2007-val(left(csrq,4))+iif(subs(csrq,5,2)<'09',1,0)


update 表名 set ksh=left(ksh,3)+'2'+substr(ksh,5,11) (考生号的第四位3改为2)
update a10763xs2007.dbf set ksh=left(ksh,3)+'2'+substr(ksh,5,11) (在把KSH的信息复制到KSH1中,考生号的第四位3改为2)

update a阿克苏职业技术学院五年一贯制474a.dbf set ksh1=left(ksh,2)+'P'+substr(ksh,4,15) (第四位的小写字母改为大写)

repl all xxx with allt(substr(xxx,1,2)+'0'+substr(xxx,3,2)) (17位改为18位)
repl all xxx with allt(substr(xxx,1,15)+'0'+substr(xxx,16,2)) (17位改为18位)


宁波大学成郑芳(182267870)

2008-06-04 19:50:06
copy all for not 字段1=字段2 to 新表名
宁波大学成郑芳(182267870) 2008-06-04 19:50:34
或者 copy all for 字段1<>字段2 to 新表名


sele zyh,coun(*) from 数据库名 grou by zyh 分专业统计学生人数

brow all for a

repl all csrq with sfzh 将 身份证号 替换到新设的字段 出生日期 中
repl all csrq with subs(csrq,7,1)+subs(csrq,8,1)+subs(csrq,9,1)+subs(csrq,10,1)+subs(csrq,11,1) +subs(csrq,12,1) +subs(csrq,13,1)+subs(csrq,14,1)
在“出生日期”中(已有身份证号)截取第7位到第14位的数据 即为实际出生日期