您好,欢迎来到爱问旅游网。
搜索
您的当前位置:首页vf实用例题学习教程

vf实用例题学习教程

来源:爱问旅游网
原始vf文档

1、将“毕业学校”字段中的“学”用“学校”替换

格式:

replace all 毕业学校 with stuff(毕业学校,13,2,\"学校\")

Replace all 毕业学校 with; Stuff(毕业学校,13,2,”学校”)

Update vf学习教程 set 毕业学校=stuff(毕业学校,13,2,”学校”)

2、选择“姓名/xm”字段中姓“杜”的所有同学

格式:

Select * from vf学习教程 where substr(姓名,1,2)=\"杜\" 或

Select * from vf学习教程 where 姓名=\"杜\" Select * from vf学习教程 where left(姓名,2)=\"杜\"

3、查询“姓名/xm”字段中第二个字符是“国”的所有同学

格式:

Select * from vf学习教程 where substr(姓名,3,2)=\"国\"

3、查询“姓名/xm”字段中第二个字符是“国”的所有同学的个数

格式:

Select count(*) from vf学习教程 where substr(姓名,3,2)=\"国\"

4、将表中的“Bmh”字段按“升序/降序”排列

格式:

Select * from vf学习教程 order by bmh 升序 Select * from vf学习教程 order by bmh desc 降序

5、选择出生日期是“1988年”的所有同学或个数

Select * from vf学习教程 where left(出生日期,4)=\"1988\" Select count(*) from vf学习教程 where left(出生日期,4)=\"1988\"

Select * from vf学习教程 where substr(出生日期,1,4)=\"1988\" Select count(*) from vf学习教程 where substr(出生日期,1,4)=\"1988\"

Select * from vf学习教程 where substr(出生日期,3,2)=\"88\"

6、将毕业学校字段中的“学”用“学校”代替

STUFF(S1,N1,N2,S2) 用字符串S2替换S1中第N1个字符起的N2个字符 STUFF(\"NOW\,1,\"E\") NEW

replace all 毕业学校 with stuff(毕业学校,13,2,\"学校\")

7、将毕业学校字段前加“黑龙江省”

replace all 毕业学校 with \"黑龙江省\"+毕业学校

8、查询性别代码字段中名字是男生的所有同学

Select * from vf学习教程 where substr(xbdm,1,1)=\"1\"

9、将身份证号转换成出生日期

Set date to ymd

replace all csrq with ctod(subs(身份证号,7,4)+\"/\"+subs(身份证号,11,2)+\"/\"+subs(身份证号,13,2))

10、subs()函数应用

全写为substr(字符串,m,n),是取子串的函数,意思是将字符串从位置m开始,取n个字符出来,如: substr(\"abcdefg\ &&从第4位开始取3个字符出来 substr(\"abcdefg\参数n可省略,表示取到最后,如: substr(\"abcdefg\

例:在数据库“vf学习教程”中,新增一个“出生日期/csrq”字段,并将其设为字符型,然后应用命令:

replace all csrq with substr(身份证号,7,8)

11、生成新表

select * from vf学习教程 where subs(姓名,1,2)=\"王\" into table 新表

12、查询总分大于600的

select * from 2326cj where zf>600 这里的“zf/总分”字段的类型一定要是数值型

13、在表“666666”中,查询班主任是某个人且按总分排序

select * from 666666 where bzr=\"蔡光华\" order by zf desc

14、查询表20111中姓名或身份证号不在青2011级中的数据

select * from 2011级 where a not in (select a from 20111)

select * from 2011级 where a not in (select a from 20111) into table 20115

四、VFP常用函数使用说明 (应用“数据库中教成绩”)

1、数值运算函数

SQRT(x) 求平方根 SQRT(9) 3 INT(x) 取整数 INT(3.14) 3

ROUND(x) 四舍五入 ROUND(3.14159,4) 3.1416 MOD(x,y) 求X除以Y的余数 MOD(25,4) 1 MAX(x,y) 求X,Y中的最大值 MAX(7,8) 8

select max(zf) from 中教成绩

MIN(x,y) 求X,Y中的最小值 MIN(1,2,3) 1 2、字符中操作函数 函数名 操作 例 结果

UPPER(S) 小写字母 UPPER(abc) ABC LOWER(S) 大写字母 LOWER(ACD) acd LEN(S) 求字符串的长度 LEN(\"中国1号\") 7

AT(S1,S2) 在字符串S2,找字符串S1 AT(\"H\ SUBSTR(S,I,N) 在S字符串中的第I个字符起取N个字符 SUBSTR('TECHNOLO',3,3) CHN

LEFT(S,N) 从字符串S左边取N个字符 LEFT(\"中国人\",4) 中国 RIGHT(S,N) 从字符串S右边取N个字符 S=‘12345' RIGHT(S,3) 345

SPACE(N) 生成N个空格 \"合计\"+SPACE(2)+\"123\" 合计123 TRIM(S) 消除字符串尾部空格 TRIM(\"姓名 \") 姓名

ALLTRI(S) 消除字符串中所有空格 ALLTRIM(\"李 丽\") 李丽

STUFF(S1,N1,N2,S2) 用字符串S2替换S1中第N1个字符起的N2个字符 STUFF(\"NOW\,1,\"E\") NEW & 宏替换 P=\"G2\" USE &P USE G2 3、日期和时间函数 函数名 操作 例 结果

DATE() 求当前日期 DATE() 2001/11/12

DATETIME() 求当前日期和时间 DATETIME() 2001/11/12/0:22:33am YEAR(D) 求年份 YEAR(DATE()) 2001

MONTH(D) 求月份(数值) MONTH(DATETIME()) 11

CMONTH(D) 求月份(字符) MONTH(DATETIME()) Novenber DAY(D) 求日期 DAY(DATE()) 12

DOW(D) 求星期几(数值) DOW(DATE()) 1 CDOW(D) 求星期几(英文) CDOW(DATE()) sunday TIME(D) 求当前时间 TIME(DATE()) 10:20:38am 4、数据类型转换函数 函数名 操作 例 结果

ASC(S) 求第一个字符串的ASCII码 ASC(\"what\") 87 CHR(N) 求ASCII码的字符 CHR(87) w

STR(R,L,D) 数值转换成字符,L为长度,D为小数位数 X=3.1415 STR(X,6,2) 3.14

VAL(S) 字符串转换为数值 VAL(\"123\") 123.00

CTOD(S) 字符串转日期 CTOD('11/01/2002') 11/01/2002 DTOC(D) 日期转换成字符串 DTOC(DATE()) 11/01/2002

DTOS(D) 把日期转成年月日式的字符串 DTOS(DATE()) 20021101

CTOT(C) 字符串转成日期时间型 CTOT(11/01/2002 10:30:50am) 11/01/2002 10:30:50am

DTOT(D) 日期型转为日期时间型 DTOT(DATE()) 11/25/2001 00:00:01am

TTOC(T) 日期时间型转为字符型 TTOC(DATETIME()) 11/25/2001 00:00:01am TTOD(T) 日期时间型转为日期型 TTOD(DATETIME()) 11/25/2001 IIF(LE,E1,E2) 逻辑判断 IIF(A>0,\"YES\ 5、检测函数

函数名 操作 例 结果

RECNO() 检测当前记录号 RECNO() 1

RECCOUNT() 检测当前记录数 RECCOUNT() 12 BOF() 开始记录 BOF() 1 EOF() 最后记录 EOF() 12

FOUND() 返回查找结果 FOUND() .T. ROW() 返回当前行坐标 ROW() 1 COL() 返回当前列坐

五、身份证号(sfzh)中提取出生日期(csrq)[注:身份证号为字符型字段,出生日期为日期型字段]

1、(1)、先建立一个中间过渡字段[字符型格式,长度最好大于10位]“rq”

repl all rq with subs(sfzh,7,4)+\"/\"+subs(sfzh,11,2)+\"/\"+subs(sfzh,13,2) (2)、再运行下行命令 set date to ymd

repl all csrq with ctod(rq) (3)、这时你再brow下,csrq已经变成日期型格式的了!^_^ 2、更简单的方法,只用两条命令: set date to ymd repl all csrq with

ctod(subs(sfzh,7,4)+\"/\"+subs(sfzh,11,2)+\"/\"+subs(sfzh,13,2))

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- awee.cn 版权所有 湘ICP备2023022495号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务