vf函数
附录VF常用函数和命令
printf
格式化输出文本,类似于C语言中的printf函数。
文件删除命令
• rm:删除文件或目录。
其他文件操作命令
find
在目录中查找文件。
grep
在文件中查找匹配的文本。
sed
对文件进行流编辑,实现文本替换、删除、 插入等操作。
awk
对文本进行模式扫描和处理,实现数据提取、 统计、报告等功能。
字符串替换函数
总结词
将字符串中的某个子串替换为另一个 子串
详细描述
字符串替换函数用于在字符串中查找 指定的子串,并将其替换为另一个子 串。在VF中,可以使用该函数对字符 串进行修改,例如将特定关键词替换 为其他内容。
其他字符串处理函数
总结词
其他常用的字符串处理函数
详细描述
除了上述提到的字符串长度函数、字符串连接函数和字符串替换函数外,VF还提供了 其他常用的字符串处理函数,如字符串分割函数、字符串查找函数等。这些函数可用于
应用场景
02
用于表示变量之间的关系,如面积、体积等。
示例
03
计算2的3次方,2^3 = 8。
常用数学函数
常数函数
常数函数表示为f(x)=c,其中c是常数。
绝对值函数
表示为|x|,返回x的绝对值。
应用场景
常用于处理数值数据,进行数值计算和统计分析。
示例
计算绝对值,| -5 | = 5。
02
字符串处理函数
指数和对数函数
指数函数
以常数e(约等于2.71828)为底的 指数函数,表示为exp(x)。
对数函数
以10或e为底的对数函数,分别表示 为log10(x)和ln(x)。
应用场景
vf常用函数
命令结构:<命令动词> [<范围>] [FIELD 字段列表] [<表达式>] [FOR <条件>] [WHILE <条件>]范围:ALL NEXT N RECORD N REST数据类型:数值(N):12123.5968 222字符(C):‘gfhghgf’“tytfytf”[rfgff]逻辑(L):.t. .f .y. .n.日期(D): 传统{mm/dd/yy} 绝对{^yyyy-mm-dd}货币(Y): $56565日期时间(T): 传统{mm/dd/yy, hh:mm:ss A|P} 绝对{^yyyy-mm-dd, hh:mm:ss A|P }备注(M):通用(G):变量:1.内存变量——直接赋值2.系统内存变量3.字段变量:优先于内存变量,如要使用内存变量,可加前缀:M. 或M->Store <表达式> TO 变量列表Display memoryList memoryClear memoryRelease 变量列表Release ALL link 通配符a* ?数组:DIMENSION 数组名(下标,下标)DECLARE运算符:算术:+ - * / % ** ^ 关系:> >= < <= != <> # == = 逻辑:AND OR NOT !常用函数:Round(76667.878787, -3)Sqrt(9)PI()Date()Time()取子串:substr(串,开始位置,取字符数)Left(串,取字符数)Right(串,取字符数)字符串长度:len(串)消除空格:TRIM(串)LTRIM(串)ALLTRIM(串)At(s1,s2)?len(dtoc({^2013-09-25}))?dtoc({^2013-09-25})?date()?len(“hjhhjjhhj”)?ctod(dtoc({^2013-09-25}))?year(ctod(dtoc({^2013-09-25}))) ?month(ctod(dtoc({^2013-09-25}))) ?day(ctod(dtoc({^2013-09-25}))) Upper(串)Lower(串)测试:vartype(表达式)FOUND()Eof()Bof()建立表结构:1.设计器:a.windows b.命令2.命令:create table 表名(字段1 类型(宽度,小数位数), …) create table xsqk(xh c(10),xm c(10),xb c(2),csrq d,gkcj n(5,1),ty l,jl m,zp g)修改表结构:modify structuer打开(关闭)表:use [<表名>]移动记录指针:[Go[to]] NSkip [N]LOCATE for substr(姓名,1,2)="王"continueseek显示记录:List| displaybrows添加数据:Append blankinsertset defa to e:\1205660101替换:REPLACE 字段名WITH 表达式,…索引:主索引:候选索引:普通索引:唯一索引:建立索引:1、表设计器:modify struct2、命令:INDEX ON 字段名TAG 标识[desc] 设置主控索引:SET ORDER TO 标识快速查找:SEEK <表达式>排序:SORT TO 新表名ON 字段名[/D]关联:SET RELAION TO 字段名INTO 子表名统计命令:记录个数:COUNT TO 内存变量名求和:SUM [数值字段] TO 内存变量名求平均值:A VERAGE [数值字段] TO 内存变量名将表中当前记录的数据复制到数组:SCATTER [FIELD <字段列表>] TO <数组名>将数组中的数据复制到当前记录中。
VF常用函数
函数对于函数需要大家了解的有:1、函数名2、除了&宏函数外,所有函数必须加 ()3、函数的作用4、函数的参数5、函数的返回值及其类型数值运算函数: INT()、ABS()、MAX()、MIN()、SQRT()、ROUND()、MOD()字符处理函数: LEN()、AT()、SPACE()、SUBSTR()、LEFT()、RIGHT()TRIM=RTRIM(TRIM\ALLTRIM\LTRIM\RTRIM)、STUFF()、&:宏函数转换函数: LOWER()、UPPER()、CTOD()、DTOC()、STR()、VAL() ASC()、CHR()日期时间函数: DATE()、TIME()、YEAR()、MONTH()、DAY()测试函数: RECNO()、BOF()、EOF()、FOUND()、FILE()、DBF()、RECCOUNT()、SELECT()、TYPE()、IIF()、其它:ROW()、COL()、INKEY()、READKEY()1.数值处理函数(1)求绝对值函数ABS()【格式】 ABS(<数值表达式>)【功能】返回<数值表达式>的绝对值,参数的类型为N型,得到的函数值的类型为N型。
【例如】输入语句:?ABS(-26.2),ABS(26.6),ABS(-50)显示结果: 26.2 26.6 50注意:语句 ? <内存变量>|<常量>|<表达式>是非格式输出语句,具有计算功能。
语句在命令窗口输入。
(2)求指数函数EXP()【格式】EXP(<数值表达式>)【功能】返回以e为底,<数值表达式>为幂次的指数值。
【例如】输入语句:?EXP(5.5),EXP(1),EXP(-5),EXP(-6)显示结果: 244.69 2.72 0.01 0.00(3)取整函数INT()【格式】 INT(<数值表达式>)【功能】返回<数值表达式>的整数部分。
VF的一些常用函数
VF的一些常用函数常用函数Visual FoxPro提供了一批标准丰富,灵活运用这些函数不仅可以简化许多运算,而且可以加强Visual FoxPro的许多功能。
在使用Visual FoxPro的函数时,应注意以下几点:? 准确地掌握函数功能。
? 每一个函数都有一个返回值。
函数的返回值有确定的类型,因此在使用函数时特别要注意类型匹配。
函数对其参数的类型也有要求,否则将产生类型不匹配的语法错误。
Visual FoxPro的函数按其功能大致可以分为数值运算函数、字符处理函数、转换函数、日期和时间函数、测试函数以及数据库函数等。
求自然对数函数【格式】LOG(<数值表达式>)【功能】求数值表达式值的自然对数。
【例】求ln e的自然对数值。
? LOG(2.718)1.000 && 显示自然对数值四舍五入函数ROUND()【格式】ROUND(<数值表达式1>,<数值表达式2>)【功能】<数值表达式1>是要被四舍五入处理的数值,<数值表达式2> 指定四舍五入后要求保留的小数位数。
本函数按指定的小数位数对数值进行四舍五入处理。
【例】求最大值、最小值函数?ROUND(86.6265,0) 87?ROUND(86.6265,1) 86.63.【格式】MAX | MIN(<数值表达式1>,<数值表达式2>[,<数值表达式3>,…])【功能】求多个数值表达式中的最大值或最小值。
【例】比较值的大小。
?MAX("WE","YOU") YOU?MIN(CTOD("12/20/03"),CTOD("10/14/99"))10/14/99取模函数【格式】MOD(<数值表达式1>,<数值表达式2>)【功能】取数值表达式1除以数值表达式2所得的余数。
计算机二级vfp第2章VF中表达式与函数
1.3、运算符
(二)、字符运算符 +:字符串连接运算符,用于连接两个字符串。 -:字符串连接运算符,用于连接两个字符串,
与+的区别在于将前一个字符串尾部空格移到连接 后的字符串末尾。
例如: ? [abc□]+[defg] ? [abc□]-[defg]
日期格式 mm/dd/yy yy.mm.dd dd/mm/yy dd.mm.yy dd-mm-yy
设置 JAPAN USA MDY DMY YMD
日期格式 yy/mm/dd mm-dd-yy mm/dd/yy dd/mm/yy yy/mm/dd
7
1.1.5 逻辑型常量
逻辑型常量只有两个值:“真”和“假” .T.,.t.,.Y.或.y.表示“真” .F.,.f.,.N.或.n.表示“假”
例如:$88.1696,¥288
5/24/2019
应为半角字符 5
1.1.4 日期型和日期时间型常量
用花括号括起来的、符合约定的符号串。严格的日期 格式为:
{^yyyy/mm/dd} 例如:{^2004/07/11} 空白日期可表示为{}或{/} 用花括号括起来符合Visual FoxPro约定的符号串。 严格的日期时间格式为: {^yyyy/mm/dd hh[:mm[:ss]][a|p]} 例如:{^2004/07/11 11:12:30p} 日期与时间数据之间必须用空格分隔
(3)、内存变量文件的建立与调用
说明:
(i)在<通配符>中允许使用符号“?”(代表单个字符)与“*”(代 表多个字符)。可选项[ALL LIKE<通配符>]表示储存于通配符相匹 配的内存变量;[ALL EXCEPT<通配符>]表示除去与通配符相匹配的 变量以外的所有内存变量;缺省可选项则储存全部内存变量。
VF常用编程命令及常用函数
VFP常用编程命令及常用函数常用编程命令及常用函数注:在语法中如用方括号“[]”括起来的词句,表示可以不用。
常用命令假设(if...endif) 循环(dowhile...enddo)分支(do case...endcase)赋值(store...to) 调用表单(do form) 调用子程序(do)返回调用程序(return) 启动事件处理(readevents)清除事件处理(clearevents)开关命令执行状态(set talkon/off)结束程序(cancel)常用函数数值转换字符(str()) 字符转换数值(val()) 取系统日期(date())取年份(year()) 取月份(month()) 取天日(day())取整(int()) 四舍五入(round()) 删除标记(delete())记录号(recno()) 记录数(reccount()) 找到记录(found())表结尾(eof()) 表开头(bof()) 消除后续空格(trim())消除前导空格(ltrim())假设语句根据一逻辑表达式的值,有条件的执行一组命令。
语法:IF 逻辑表达式 [THEN]程序组1[ELSE程序组2]ENDIF参数:逻辑表达式代表一逻辑值,如果这逻辑值为真,系统执行程序组1,否则不执行程序组1,如果有else及程序组2的话,则执行程序组2,如没有则什么也不执行,直接执行endif后面的语句。
备注:在if...endif之间还可以有if...endif,即该命令是可以嵌套的。
then可以有也可以没有,对程序没有影响。
else及程序组2可以有也可以没有,但如果有的话,在逻辑表达式的值为假时,程序组2将被执行。
if 与endif必须配对使用,即有一个 if 必须有一个endif,否则程序会出错。
举例:例1:假如分数字段的值大于等于90,则让等级字段的值为“优”,并显示该记录。
程序如下:if 分数>=90replace 等级 with '优'displayendif例2:在数据库中可以把性别字段设为逻辑型,“真”代表“男”,“假”代表“女”,但显示时不能显示真、假,否则别人看不懂,而应显示男、女,因此我们设一变量xb,根据性别字段的具体值,将xb的值设为男或女,然后在需要的时候显示xb的值即可。
VFP函数和操作命令
•求整函数–int (<数值表达式>) 功能:返回整数部分–Ceiling (<数值表达式>) 功能:返回大于或等于它的最小数–floor (<数值表达式>)功能:返回小于或大于它的最大数•四舍五入函数–round (<数值表达式1>,<数值表达式2>)•求字符串函数–len (<字符表达式>) 功能:返回指定字符表达式值的长度•大小写转换函数–lower (<字符表达式>) 功能:字母转成小写,字符不变–Upper (<字符表达式>)功能:字母转成大写,字符不变•空格字符串生成函数–space(<数值表达式>)功能:返回由指定数目的空格组成的字符串。
•删除前后空格函数–rtrim (<字符表达式>)功能:去掉尾部空格后形成的字符串–Ltrim (<字符表达式>)功能:去掉前导空格后形成的字符串–alltrim (<字符表达式>)功能:去掉前导和尾部空格形成的字符串•求子串函数–left (<字符表达式>,<长度>) 功能:取左边–Right (<字符表达式>,<长度>)功能:取右边–substr (<字符表达式>,<起始位置>,<长度>) 功能:从起始开始取起,作为函数值•日期和时间函数–date () 功能:返回系统当前日期,函数值:日期型–Time () 功能:以hh:mm:ss格式返回当前时间,为字符型–Datetime () 功能:返回当前日期时间,函数值:日期型•求年份、月份、天数函数(返回值:数值型)–year (<日期表达式>|<日期时间表达式>):从指定日期当中返回年份–Month (<日期表达式>|<日期时间表达式>):从指定日期当中返回月份–Day (<日期表达式>|<日期时间表达式>):从指定日期当中返回天数•时、分、秒函数(函数值:数值型)–hour (<日期时间表达式>) 功能:返回小时部分–Minute (<日期时间表达式>)功能:返回分钟部分–Sec (<日期时间表达式>)功能:返回秒数部分•数值转换成字符串–str (<数值表达式>[,<长度>[,<小数位数>]]):将<数值表达式>的值转成字符串,转换时根据需要自动四舍五入。
vf重点函数
一.字符及字符串处理函数:字符及字符串处理函数的处理对象均为字符型数据,但其返回值类型各异.1.取子串函数:格式:substr(c,n1,n2)功能:取字符串C第n1个字符起的n2个字符.返回值类型是字符型.例:取姓名字符串中的姓.store \"王小风\" to xm?substr(xm,1,2)结果为:王2.删除空格函数:以下3个函数可以删除字符串中的多余空格,3个函数的返回值均为字符型.trim(字符串):删除字符串的尾部空格alltrim(字符串):删除字符串的前后空格ltrim(字符串):删除字符串的前面的空格例:去掉第一个字符串的尾空格后与第二个字符串连接store \"abcd \" to xstore \"efg\" to y?trim(x)+yabcdefg3.空格函数:格式:space(n)说明:该函数的功能是产生指定个数的空格字符串(n用于指定空格个数).例:定义一个变量dh,其初值为8个空格store space(8) to dh4.取左子串函数:格式:left(c,n)功能:取字符串C左边n个字符.5.取右子串函数:格式:right(c,n)功能:取字符串c右边的n个字符例:a=\"我是中国人\"?right(a,4)国人?left(a,2)我6.empty(c):用于测试字符串C是否为空格.7.求子串位置函数:格式:At(字符串1,字符串2)功能:返回字符串1在字符串2的位置例:?At(\"教授\",\"副教授\")28.大小写转换函数:格式:lower(字符串)upper(字符串)功能:lower()将字符串中的字母一律变小写;upper()将字符串中的字母一律变大写例:bl=\"FoxBASE\"?lower(bl)+space(2)+upper(bl)foxbase FOXBASE9.求字符串长度函数:格式:len(字符串)功能:求指定字符串的长度例:a=\"中国人\"?len(a)6二.数学运算函数:1.取整函数:格式:int(数值)功能:取指定数值的整数部分.例:取整并显示结果?int(25.69)252.四舍五入函数:格式:round(数值表达式,小数位数)功能:根据给出的四舍五入小数位数,对数值表达式的计算结果做四舍五入处理例:对下面给出的数四舍五入并显示其结果?round(3.14159,4),round(2048.9962,0),round(2048.9962,-3)3.1416 2049 20003.求平方根函数:格式:sqrt(数值)功能:求指定数值的算术平方根例:?sqrt(100)104.最大值、最小值函数:格式:Max(数值表达式1,数值表达式2)Min(数值表达式1,数值表达式2)功能:返回两个数值表达式中的最大值和最小值例:x1=123.456x2=234.567?max(x1,x2)234.567?min(x1,x2)123.4565.求余数函数:格式:mod(表达式1,表达式2)功能:求表达式1对表达式2的余数例:?mod(10,3)16.求指数、对数函数:格式:exp(数值表达式)log(数值表达式)功能:(1).exp()计算自然数e ?表达式的值为指数的幂(2).log()计算表达式值的自然对数,返回lnx的值.例:x=1y=exp(x)?exp(x),log(x)2.72 1三.转换函数:1.数值转数字字符串函数:格式:str(n,n1,n2)功能:将数值n转换为字符串,n1为总长度,n2为小数位例:?str(321.56)322 &&隐含四舍五入取整转换为字符型数据?str(321.56,6,2)321.562.字符转数值函数:格式:val(s)功能:将数字字符串s转换为数值例:x=\"23\"y=\"76\"?val(x)+val(y)1003.字符转日期函数:格式:ctod(c)功能:将日期字符串c转换为日期例:set date ansi &&日期格式设为美国标准化协会格式?ctod(\"^2005.11.14\")2005.11.144.日期转字符函数:格式:dtoc(d)功能:将日期d转化为日期字符串例:将日期型数据转化为字符型日期数据并显示汉字日期.set century on &&开启世纪前缀,即日期中年份用4位表示set date ansirq={^2005.11.14}rq=dtoc(rq)?substr(rq,1,4)+\"年\"+substr(rq,6,2)+\"月\"+substr(rq,9,2)+\"日\"2005年11月14日5.时间转字符函数:格式:ttoc(时间)功能:将时间转为时间字符串6.字符转时间函数:格式:ctot(c)功能:将时间字符串转化为时间7.字符串替换函数:格式:stuff(<字符表达式1>,<起始位置>,<字符个数>,<字符表达式2>)功能:从指定位置开始,用<表达式2>的值去替换<表达式1>中指定个数字符.若<字符个数>为零,直接插入;若<表达式2>为空字符串,则删除<表达式1>中指定个数的字符.例:X=\"祝大家新年好!\"?stuff(X,7,4,\"春节\")祝大家春节好?stuff(X,11,0,\"春节\")祝大家新年春节好?stuff(x,7,4,\" \")祝大家好8.字符转ASCⅡ码函数:格式:Asc(<字符表达式>)功能:把<字符表达式>左边第一个字符转成相应的ASCⅡ码值例:x=\"Foxpro\"?Asc(x),Asc(lower(x))70 1029.ASCⅡ码值转字符函数:格式:chr(数值表达式)功能:把数值转成相应的ASCⅡ码字符,返回值为字符型例:?chr(70)+chr(111)+chr(111+9)Fox四.日期函数:1.系统日期函数:格式:date()功能:给出系统的当前日期,返回值是日期型数据.例:显示系统日期?date()11/14/05set date ansiset century on?date()2005.11.142.年、月、日函数:格式:(1).year(日期表达式):从日期表达式中返回一个由四位数字表示的年份.(2).month(日期表达式):从日期表达式中返回一个用数字表示的月份.(3).day(日期表达式):从日期表达式中返回一个用数字表示的日数.例:测试系统日期rq=date()?year(rq),month(rq),day(rq)2005 11 143.系统时间函数:格式:time()功能:得到当前时间字符串例:?time()20:32:264.系统日期时间函数:格式:datetime()功能:得到当前日期时间例:?datetime()2005.11.14 08:35:12 PM5.星期函数:格式:dow(日期表达式)cdow(日期表达式)功能:dow用数字表示星期,1表示星期日,7为星期六;cdow用英文表示星期例:?date()2005.11.15?dow(date()),cdow(date())3 Tuesday五.测试函数:1.测试文件尾函数:格式:eof([n])说明:(1).n指定被测工作区号,其范围为1~32767(2).该函数用于测试指定工作区中的表的记录指针是否指向文件尾,是则返回真值;否则返回假值;省略可选项指当前工作区.例:测试文件记录指针是否指向文件尾use 职工档案go bottom?eof().F.skip?eof().T.2.测试文件头函数:格式:bof([n])说明:(1).n指定被测工作区号,其范围为1~32767(2).用于测试指定工作区中的表的记录指针是否指向文件头,是则返回真值;否则返回假值;省略可选项指当前工作区.例:测试记录指针是否指向文件头use 职工档案go top?bof().f.skip -1?bof().t.3.测试当前记录号函数:格式:recno()功能:得到当前的记录号例:use 职工档案?recno()1skip?recno()24.测试表文件记录数函数:格式:reccount()功能:得到表的记录数例:测试\"职工档案\"表的记录数use 职工档案?reccount()55.测试表字段数函数:格式:fcount()功能:得到当前的字段数例:测试\"职工档案\"表共有多少个字段use 职工档案?fcount()96.测试查找记录是否成功函数:格式:found()功能:测试find、seek和locate命令查找记录是否成功.如成功则返回真值,否则为假值.例:在\"职工档案\"表中查找\"小刚\"的文化程度use 职工档案locate for 姓名=\"小刚\"?found().t.display7.文件测试函数:格式:file(字符表达式)功能:测试字符表达式指定的文件是否存在例:?file(\"e:\\myvfp\\职工档案.dbf\").t.8.数据类型测试函数:格式:type(字符表达式)功能:测试表达式的数据类型,返回大写字母:N(数值)、C(字符)、L(逻辑)、D(日期)、M(备注)例:x=1236y=\"hello\"?type(\"x\")N?type(\"y\")C9.测试工作区函数:格式:select()功能:返回当前工作区的区号10.测试别名函数:格式:alias()功能:测试当前工作区的别名例:select 1use 职工档案 alias zgdaselect 2use 工资情况?alias()工资情况 &&打开表时,不指定别名,表名即为别名select zgda &&通过别名选择工作区?select()111.表文件名函数:格式:dbf()功能:返回当前工作区打开的表名例:use 工资情况?dbf()e:\\myvfp\\工资情况六.其它函数:1.宏替换函数:格式:&变量名说明:vfp中只有宏替换函数没有括号.功能是返回指定字符型变量中所存放的字符串.例:为\"工资情况\"表中每个人加100元工资gz=\"工资\"use 工资情况replace all &gz with &gz+1002.条件函数:格式:iif(表达式,表达式1,表达式2)功能:若表达式值为真,则返回表达式1的值;否则返回表达式2的值;函数返回值类型与表达式1或表达式2类型一致a=3b=5?iif(a>b,\"高兴\",\"开心\")开心3.消息框函数:格式:messagebox(提示文本[,对话框类型[,对话框标题文本]])功能:显示提示对话框说明:(1)对话框类型见表1:对话框类型功能0仅\"确定\"按钮1\"确定\"和\"取消\"按钮2\"终止\",\"重试\"和\"忽略\"按钮3\"是\",\"否\"和\"取消\"按钮4\"是\"和\"否\"按钮5\"重试\"和\"取消\"按钮16stop图标32?图标48!图标64i图标0默认第1个按钮256默认第2个按钮512默认第3个按钮(2).返回值见表2:返回值按钮1确定2取消3终止4重试5忽略6是7否例:分析messagebox(\"您确实要退出系统吗?\",4+64,\"提示信息\")会弹出什么样的窗口.分析:回头观察此函数的格式,弹出的对话框中的提示文本是\"您确实要退出系统吗\",对话框标题是\"提示信息\",函数中间有\"4+64\",其中4指定对话框中出现\"是\"和\"否\"两个按钮(见表1),64指定对话框中出现i图标(见表2)ok,我们在命令窗口依次执行下列命令:tui=messagebox(\"您确实要退出系统吗?\",4+64,\"提示信息\")&&变量tui用于接收messagebox函数的返回值,弹出的窗口如图1?tui&&变量tui值取决于运行时用户点了哪个按钮,如果点了\"是\",返回6,如果点了\"否\",返回7,见表2说明:实际应用中,我们常在系统菜单或在表单的\"退出\"按钮中添加如下代码:tui=messagebox(\"您确实要退出系统吗?\",4+64,\"提示信息\")if tui=6 &&如果此条件成立,说明用户点了\"是\"按钮,执行quit命令,安全退出quitendif。
VF的数据及其运算
M.内存变量名 M->内存变量名
22
VF的数据类型---变量
(1)内存变量的赋值 给内存变量赋值的命令有两种格式:
<内存变量>=<表达式> STORE <表达式> TO <内存变量表>
23
VF的数据类型---变量
2
VF的数据类型
1.字符型
中文、英文、数 字和其它ASCII字
符
文字数据类型
用字母C表示
长度范围是0~254个字符。
3
VF的数据类型
小数点、数字和 正负号
2.数值型
表示数量
用字母N表示
在内存中占8字节
若一个字段变量是数值型,数据位长为20
4
VF的数据类型 3.货币型
表示货币值 用字母Y表示 在内存中占8字节
VF的内部函数—数值函数
7. 四舍五入函数 格式:ROUND(<数值型表达式1>,<数值型表达式2>) 注意:当表达式2的符号为负时,函数值的计算方法:
我们以小数点为分界,向小数点左边移动。如round(5.123,1)就从第-1位(也就是5所在的位置)开始四舍五入,5>=5,所 以入上去一位,结果为10。
当表达式2的值大于小数点前的数据数—数值函数 8. 求最大值和最小值函数 格式:MAX(<表达式1>),<表达式2>,…, <表达式n>) MIN(<表达式1>,<表达式2>,…, <表达式n>)
41
VF的内部函数—数值函数
9.π函数 格式:PI() 功能:返回圆周率π的近似值。
VF常用函数
常用函数ABS():返回一个数值表达式的绝对值。
语法:ABS(数值表达式)返回值:数据型示例 ?ABS(5),ABS(-5) &&返回结果均为:5ALLTRIM():去掉字符型表达式开头和结尾的空格。
TRIM():去掉字符型表达式结尾的空格。
语法:ALLTRIM(字符表达式) 返回值:字符型cString=” Visual FoxPro ”?ALLTRIM(cString) &&返回结果为”Visual FoxPro”?TRIM(cstring) &&返回结果为” Visual FoxPro”ASC():返回字符串左边第一个字符的ASCII码值。
语法:ASC(字符表达式)返回值:数值型?ASC('abcdef') &&返回结果为:97AT():返回字符串1在字符串2中首次出现的位置。
语法:AT(cSearchExpression, cExpressionSearched [, nOccurrence])cSearchExpression:字符串1;cExpressionSearched:字符串2;nOccurrence:指定出现的次数(第一次,第二次)返回值:数值型STORE 'Now is the time for all good men' TO gcStringSTORE 'is the' TO gcFindStringCLEAR &&清空屏屏幕内容? AT(gcFindString,gcString) && 显示5STORE 'IS' TO gcFindString? AT(gcFindString,gcString) && 显示0ATC():返回字符串1在字符串2中首次出现的位置。
字母不分大小写。
其他同AT()?ATC(gcFindString,gcString) &&显示5BETWEEN():返回一个表达式的值是否在两个给定的值之间。
VF数据库命令与函数
数据库命令与函数<>尖括号括起来的句子是必选项,不输入尖括号。
[]方括号括起来的句子是可选项,如果不选择可选项,按默认值处理。
|竖线号表示前后两项任选一项,且只能选择一项……省略号按照前项相同方式重复。
第一章:显示数据命令:?[数据列表]使用命令获取帮助信息:HELP<帮助主题>算数运算符:+ 加法、- 减法、* 乘法、/ 除法、^ 或 ** 乘方、% 求余。
关系运算符:> 大于、>= 大于等于、< 小于、<= 小于等于、= 等于 == 恒等于、<>或!=或# 不等于、$ 包含于(仅用于字符)逻辑运算符:逻辑非 NOT或!、逻辑与AND、逻辑或OR。
1给单个变量赋值:<内存变量值>=<表达式>2给多个变量赋值:STORE <表达式> TO <内存变量表>3显示内存变量:DISPLAY MEMORY [LIKE 变量通配名]4删除所有用户自定义内存变量CLEAR MEMORY5删除指定的用户自定义内存变量RELEASE <内存变量表>1定义一维数组或二维数组命令DECLARE<数组名1>(行[,列])[,数组名2(行[,列])…]常用函数:(1)数值函数:ABS(数值表达式)绝对值函数INT(数值表达式)取整函数ROUND(数值表达式,有效位数)四舍五入函数SQRT(数值表达式) 平方根函数LOG(数值表达式)自然对数函数(2)日期和时间函数DATE() 日期函数YEAR(日期表达式) 年函数MONTH(日期表达式) 月函数DAY(日期表达式) 日函数TIME() 时间函数(3)字符函数SPACE(空格个数) 生成空格函数LTRIM(字符表达式) 删除先导空格函数RTRIM(字符表达式) 删除尾随空格函数ALLTRIM(字符表达式) 删除先导和尾随函数LEFT(字符表达式,字符个数) 左子串函数RIGHT(数值表达式,字符个数) 右子串函数SUBSTR(字符表达式,起始位置[,字符个数]) 子字符串函数(4)测试函数LEN(字符型表达式) 测试字符串长度函数EMPTY(表达式) 测试数据是否为空函数TYPE(“表达式”) 测试数据类型函数BETWEEN(表达式1,表达式2,表达式3) 测试数据范围函数(5)转换函数STR(数值表达式[,长度[,小数位数]])数值转换为字符函数VAL(字符表达式) 字符转换为数值函数CTOD(字符表达式) 字符转换为日期函数DTOC(日期表达式[,1]) 日期转换为字符函数UPPER(字符表达式) 小写转换为大写函数LOWER(字符表达式) 大写转换为小写函数ASC字符表达式) 字符转换为ASCII函数CHR(数值表达式) ASCII转化为字符函数(6)其他函数MAX(表达式1,表达式2,表达式3) 最大值函数MIN(表达式1,表达式2,表达式3) 最小值函数第二章2创建表的命令:CREATE<表文件名>3创建表的SQ命令CREATE TABLE|DBF <表文件名> (<字段名><类型>[(宽度[,小数位数])[,字段名…])4复制表的命令COPY TO <表文件名>[FIELDS 字段列表][FOR 条件]5复制表结构的命令COPY STRUCTURE TO <表文件名> [FIELDS 字段列表]1使用命令创建数据库CREATE DATABASE <数据库名>2使用命令打开数据库OPEN DATABASE <数据库名>3设置当前数据库SET DATABASE TO [数据库名]4关闭当前数据库CLOSE DATABASE5关闭所有打开的文件CLOSE ALL1使用命令打开表USE <表文件名> [IN 工作区号] [ALIAS 别名]2使用命令关闭表USE [工作区号|别名]3使用命令显示表的结构DISPLAY STRUCTURE4使用命令浏览编辑数据BROWSE [FIELDS 字段列表][FOR 条件][FREEZE 字段名][LOCK 锁定字段数][NOAPPEND][NODELETE][NOEDIT]5绝对移动记录指针命令GO TOP|BOTTOM|<记录号>相对移动记录指针命令SKIP[记录数]测试当前记录号的函数RECNO()测试记录总数的函数RECCOUNT()数据显示命令DISPLAY [ALL][FIELDS 字段列表]追加记录,命令APPEND [BLANK]追加记录的SQL命令INSERT INTO <表名> [(<字段名列表>)] VALUES (<表达式列表>)使用命令从表文件追加记录APPEND FROM <表文件名> [FIELDS 字段列表] [FOR 条件]使用命令逻辑删除记录DELETE [ALL] [FOR 条件]逻辑删除记录的SQL命令DELETE FORM <表文件名> [WHERE 条件]测试记录是否有删除标记的函数DELETE()使用命令取消记录的删除标记REACLL [ALL] [FOR 条件]使用命令物理删除记录PACK物理删除所有记录命令ZAP成批替换数据REPLACE <字段名1> WITH <表达式1>[,<字段名2> WITH <表达式2>…] [ALL][FOR 条件]更换数据的SQL命令UPDATE <表文件名> SET <字段名1>=<表达式1>[,<字段名2>=<表达式2>…] [WHERE 条件]使用命令创建索引INDEX ON <关键字> TAG <索引名> [OF 符合索引文件名] [FOR 条件] [DESCENDING]打开索引文件:SET INDEX TO<索引文件列表>使用命令指定当前索引SET ORDER TO<索引名>[OF 索引文件名]使用命令维护索引REINDEX使用命令检索数据LOCATE FOR <条件>继续检索命令CONTINUE测试检索是否成功的函数FOUND()测试指针是否在文件尾的命令EOF()求和命令SUM[表达式列表][FOR条件]求平均值命令AVERAGE[表达式列表][FOR条件]使用命令创建表之间的一对一关系SET RELATION TO[关键字 INTO 别名]使用命令创建表之间一对多关系SET SKIP TO <别名>使用命令运行查询DO <查询文件名>使用命令打开查询文件MODIFY QUERY <查询文件名>查询数据的SQL命令SELECT [DISTINCT][输出数量]<查询项列表>FROM <数据源>[WHERE 条件][GROUP BY 分组项列表][HAVING 条件][ORDER BY 排序项列表][输出对象]查询数据SELECT基本格式SELECT <字段列表>FROM [数据库名!]<表名>字符通配符LIKE”?”表示该位置可以匹配任何一个字符“*”表示该位置可以匹配零个或者多个字符查询结果排序ORDER BY 排序项1 [ASC|DESC][,排序项2[ASC|DESC]…] 简单的计算查询COUNT函数:计算SUM函数:求和AVG函数:求平均值MAX函数:求最大值MIN函数:求最小值指定输出的记录数TOP n[PERCENT]指定查询去向INTO 目标|TO FILE 文件名 [ADDITIVE][TO PRINTER|TO SCREEN] 指定两个表之间联接条件[数据库名]<表名>[INNER|LEFT|RIGHT|FULL]JOIN[数据库名!]<表名>[ON联接条件]使用命令创建视图CREATE VIEW <视图名> AS <查询语句>删除视图的SQL命令DROP VIEW <视图名>使用命令创建程序MODIFY COMMAND<程序文件名>运行程序DO <程序文件名>添加注释*|NOTE <命令行>清屏命令CLEAR输入字符命令ACCEPT [提示信息] TO <内存变量>输入表达式命令INPUT [提示信息] TO <内存变量>输入单字符命令WAIT [提示信息] [TO 内存变量] [WINDOW][TIMEOUT 时间]格式化输出命令@<行,列> SAY <显示信息>格式化输入@<行,列> [SAY 显示信息] GET <变量>格式化输入命令需要与READ命令共同使用,才能激活命令中的变量,接收输入的数据.测试行坐标的函数ROW()测试列坐标的函数COL()设置会话状态命令SET TALK ON|OFF设置文件保护命令SET SAFETY ON|OFF清除内存变量命令CLEAR ALL单分支选择结构IF<条件><语句组>ENDIF双分支选择结构IF<条件><语句组1>ELSE<语句组2>ENDIF多分支选择结构DO CASECASE<条件1><语句组1>CASE<条件2><语句组2>…CASE<条件n><语句组n>[OTHERWISH语句组]ENDCASE基于条件的循环DO WHILE<条件><语句组>ENDDO针对记录的循环SCAN[FOR 条件]<语句组>ENDSCAN针对次数的循环FOR<变量>=<初值>TO<终值>[STEP 步长] <语句组>ENDFOR终止本次循环命令LOOP结束循环命令EXIT定义过程PROCEDURE<过程名><语句组>ENDPROC打开与关闭过程文件命令SET PROCEDURE TO[过程文件名] 过程传递参数命令DO<程序名|过程名>[WITH 参数表] 接收参数命令PARAMETERS<参数表>。
VF常用函数列表
数值函数:1.绝对值和符号函数格式:ABS(<数值表达式>)SIGN(<数值表达式>)例如:ABS(-5)=5,ABS(4)=4,SIGN(8)=1,SIGN(-3)=-1,SIGN(0)=02.求平方根表达式格式:SQRT(<数值表达式>)例如:SQRT(16)=4,它与开二分之一次方等同。
3.圆周率函数格式:PI()4.求整数函数格式:INT(<数值表达式>)返回数值表达式的整数部分CEILING(<数值表达式>)返回大于或等于表达式的最小整数FLOOR(<数值表达式>)返回小于或等于表达式的最大整数例如:INT(5.8)=5.8,INT(-7.8)=-7,CEILING(6.4)=7,CEILING(-5.9)=-5FLOOR(9.9)=95.四舍五入函数格式:ROUND(<数值表达式1>,<数值表达式2>)功能:返回制定表达式在制定位置四舍五入的结果例如:ROUND(345.345,2)=345.35,ROUND(345.345,1)=345.3,ROUND(345.345,0)=345,ROUND(345.345,-1)=3506.求余函数格式:MOD(<数值表达式1>,<数值表达式2>)例如:MOD(10,3)=1 MOD(10,-3)=-2 MOD(-10,3)=2 MOD(-10,-3)=-1求余数的规律:1.首先按照两数的绝对值求余2.表达式1的绝对值大于表达式2的绝对值,则余数为表达式1的值3.余数取表达式1的正负号4.若两数异好号,余数在加上表达式2的值为最终的结果7. 求最大值和最小值函数MAX(数值表达式列表)MIN (数值表达式列表)例如:MAX(2,3,5)=5 MAX(…2‟,‟12‟,‟05‟)=2MAX(…汽车‟,‟飞机‟,‟轮船‟)字符串比较的规律:字符串比较首先比较第一个字母,如果有结果那就不用在进行比较了。
VF函数总结
LUPDATE() 返回一个表最近一次更新的日期
MDX() 根据指定的索引编号返回打开的.CDX复合索引文件名
MEMLINES() 返回备注字段中的行数
MLINE() 以字符串形式返回备注字段中的指定行
NDX() 返回为当前表或指定表打开的某一索引(JDX)文件的名称
Visual FoxPro日期和时间函数
CTOD()把字符表达式转换成日期表达式。
CDOW()从给定日期或日期时间表达式中返回星期值。
CMONTH()返回给定日期或日期时间表达式的月份名称。
CTOD()把字符表达式转换成日期表达式。
CTOT()从字符表达式返回一个日期时间值。
TIME()以 24 小时制、8 位字符串(时:分:秒)格式返回当前系统时间。
TTOC()从日期时间表达式中返回一个字符值。
TTOD()从日期时间表达式中返回一个日期值。
WEEK()从日期表达式或日期时间表达式中返回代表一年中第几周的数值。
YEAR()从指定的日期表达式中返回年份。
RELATION() 返回为给定工作区中打开的表所指定的关系表达式
SEEK() 在一个已建立索引的表中搜索一个记录的第一次出现位置
SELECT() 返回当前工作区编号或未使用工作区的最大编号
SETFLDSTATE() 为表或临时表中的字段或记录指定字段状态值或删除状态值
SQLCANCEL() 请求取消一条正在执行的SQL语句
CHRTRANC() 将第一个字符表达式中与第二个表达式的字符相匹配的字符替换为第3个表达式中相应的字符
CPCONVERT() 把字符、备注字段或字符表达式转换到其他代码页
VF常用函数
VF常⽤函数VF6.0常⽤函数函数是⽤程序实现的⼀种数据运算或转换。
每⼀个函数都有特定的数据运算或转换功能,它往往需要若⼲个⾃变量,即运算对象,但只能有⼀个运算结果,称为函数值或返回值。
函数可以⽤函数名和⼀对圆括号加以调⽤,⾃变量放在圆括号⾥,如LEN(x)。
函数调⽤可以出现在表达式⾥,表达式将函数的返回值作为⾃⼰运算的对象。
函数调⽤也可作为⼀条命令使⽤,但此时系统忽略函数的返回值。
⼀般将常⽤函数分为数值函数、字符处理函数、⽇期和时间函数、数据类型转换函数、测试函数5类。
2.1数值函数概念:函数值为数值的⼀类函数,它们的⾃变量和返回值⼀般都是数值型数据。
1.绝对值函数格式:ABS(〈数值表达式〉)功能:返回指定的数值表达式的绝对值。
例如:?ABS(10),ABS(-5)1052.符号函数格式:SIGN(〈数值表达式〉)功能:返回指定数值表达式的符号。
当表达式的运算结果为正、负和零时,函数值分别为1、-1和0。
例如:?SIGN(-10),SIGN(0),SIGN(5)-1012.1数值函数3.求平⽅根函数格式:SQRT(〈数值表达式〉)功能:返回指定表达式的平⽅根。
⾃变量表达式的值不能为负。
例如:?SQRT(4)44.圆周率函数格式:PI()功能:返回圆周率π(数值型)。
该函数没有⾃变量。
2.1数值函数5.求整数函数格式:INT(〈数值表达式〉) CEILING(〈数值表达式〉)FLOOR(〈数值表达式〉)功能:INT()返回指定数值表达式的整数部分。
CEILING()返回⼤于或等于指定数值表达式的最⼩整数。
FLOOR()返回⼩于或等于指定数值表达式的最⼤整数。
例如:X=5.8?INT(X);INT(-X);CEILING(X);CEILING(-X);FLOOR(X);FLOOR(-X)5-56-55-62.1数值函数6.四舍五⼊函数格式:ROUND(〈数值表达式1〉,〈数值表达式2〉)功能:返回指定表达式在指定位置四舍五⼊后的结果。
VF中常用的函数
1、CREATE作用:建立一个新的表。
格式:CREATE [<文件>|?](注意,命令字符可取前面四个字符,后面可省略不写2、MODIFY STRUCTURE作用:显示表文件结构,并允许修改此表的结构。
格式:MODIFY STRUCTURE说明:只有在用USE命令打开表文件以后,才能显示或修改表文件的结构。
3、APPEND作用:在当前表的尾部(无论表中有无记录)追加记录(在当前表指当前正使用的表)。
格式:APPEND [BLANK4、INSERT作用:在表文件中间插入一个新记录。
格式:INSERT [BEFORE] [BLANK]说明:INSERT 在当前记录后插入一记录;5、BROWSE作用:主要用于打开浏览窗口,查阅表文件并同时进行修改。
格式:BROWSE6、USE作用:打开和关闭表文件。
格式:USE [<文件名>]USE说明:前一个命令用来打开<文件名>指定的表文件,该表如有备注型字段,则同时打开相应7、LIST和DISPLAY作用:显示表(.dbf)的内容、结构或状态。
格式:LIST|DISPLAY [OFF] [<范围>] [FIELDS] <表达式表> [WHILE <条件>] [FOR <条>] [TO PRINT|TO FILE <文件>]LIST|DISPLAY STRUCTURE TO PRINT|TO FILE <文件>]LIST|DISPLAY STATUS [TO PRINT|TO FILE <文件>]说明:命令带OFF参数表示不显示记录号,范围指定对哪些记录进行操作,范围包括:RECORD n8、记录的定位作用:用记录指针(POINTER)定位记录。
格式:GO[TO] RECORD n|TOP|BOTTOMnSKIP [+|-]说明:第一个命令又叫绝对定位,其中,RECORD n定位到n号记录,TOP定位到第1个记录,BOTTOM定位到最后一个记录。
VF的命令表达式和函数
❖ 变量名:以字母、汉字或下划线开始的
10
个以内的符号,一旦定义,就
在存储器中开辟相应的存储空间,符号
化的地址。
❖ 变量赋值: X=345
阳”
, FIE_34=“太
常量、变量(对应内存的基本单元)
X FIE-34 MYD RETY X1 X2 X3
345 太阳 1997-03-02
.F. 672 672 672
的空间:
字符型常量:“我们”、‘太阳’、[345-ty”]
数字型常量:18、-678、34.987、3.6E5
逻辑型常量: .T. .Y.
.F. .N.
日期型常量: {^2001-09-21}
日期时间型常量:{^2005-09-21 11:12:17}
货币型常量:$79234.6745
常量、变量
变量:在程序运行过程中,其值会发生变化 的量,分为内存变量和字段变量。介绍 内存变量
常量、变量
变量的显示:LIST MEMORY LIST MEMORY LIKE K?? LIST MEMORY EXCEPT R?
变量的清除:RELEASE A,B RELEASE ALL CLEAR ALL
运算符和表达式
算术运算和函数(对数字型数据) + - * / **或^ %
命令序列: x=876 ?345+1234, 897-345123*4, 5**4, 45%4 ?int(345.897) ?abs(-234) ?sqrt(87498.89) ?x+98*3-4^2+67%7+sqrt(x*2)
运算符和表达式
日期运算和函数:
+
-
日期-日期=整数(天数)
vf常用函数总结
常用函数1、数值函数Abs (数值表达式) 返回表达式的绝对值Sign(数值表达式) 返回表达式的符号:表达式为正数(1)为负数(-1)为零(0)Sqrt(数值表达式) 返回表达式的平方根。
(即开方)Pi() 返回圆周率即3.14Int(数值表达式) 返回表达式的整数部分Ceiling(数值表达式) 返回大于等于表达式的最小整数Floor(数值表达式) 返回小于等于表达式的最大整数Round(数值表达式,四舍五入的位置) 返回表达式四舍五入后的值Mod(被除数,除数) 返回两个数相除后的余数Max(数值表达式1,数值表达式2……)返回其中的最大值Min(数值表达式1,数值表达式2……)返回其中的最小值2、字符函数Len(字符表达式) 返回表达式值的长度(即表达式所包含的个数)Lower(字符表达式) 将表达式中的大写字母变为小写字母upper(字符表达式) 将表达式中的小写字母变为大写字母space(字符表达式) 返回指定的空格trim(字符表达式) 去掉表达式值的尾部空格ltrim(字符表达式) 去掉表达式值的前部空格alltrim(字符表达式) 将表达式值的前后空格都去掉left(字符表达式,长度) 从表达式的左边取指定的长度right(字符表达式,长度) 从表达式的右边取指定的长度substr(字符表达式,起始位置,长度) 从表达式的起始位置取指定的长度,若无长度则从起始位置一直取到最后occurs(字符表达式1,字符表达式2) 返回表达式1在表达式2中出现的次数at(字符表达式1,字符表达式2,表达式1在2中第几次出现) 返回表达式1的首字符在2中出现的位置。
区分大小写atc(字符表示1,字符表达式2,表达式1在2中第几次出现) 同at( ),但不区分大小写stuff(字符表达式1,起始位置,长度,字符表达式2)用表达式2的值替换表达式1中由起始位置和长度指明的内容chrtran(字符表达式1,字符表达式2,字符表达式3) 当表达式1中的一个或多个相同字符与表达式2中的某个字符一样时,就用表达式3中的对应字符替换这些字符like(字符表达式1,字符表达式2)比较2个表达式对应位置上的字符,若都匹配函数值为.T.,否则为.F.(表达式1中可以包含通配符*和?)3、日期和时间函数Date() 当前系统日期,函数值为日期型Time()当前系统时间,函数值为字符型Datetime() 当前系统日期时间,函数值为日期时间型Year(日期表达式)返回表达式中日期的年份Month(日期表达式)返回表达式中日期的月份Day(日期表达式)返回表达式中日期的天数Hour(日期时间表达式) 返回日期时间表达式中的小时部分minute(日期时间表达式) 返回日期时间表达式中的分钟部分sec(日期时间表达式) 返回日期时间表达式中的秒数部分4、数据类型转换函数Str(数值表达式,长度,小数位数) 将数值转换成字符串Val(字符表达式) 将字符串转换成数值Ctod(字符表达式) 将字符串转换成日期Ctot(字符表达式) 将字符串转换成日期时间Dtoc(字符表达式,1) 将日期转换成字符串。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 算术运算符:+ - * / %^ **
2 关系运算符:> < >= <= != <> =
3 逻辑运算符:.and. .or. .not.
.AND. 与:两边有一个是假值,则为假7>8.or.8<9
.OR. 或:两边有一个是真值,则为真
.NOT. 非:真变假,假变真
4 字符运算符:+ -$
+是将两个字符串连接起来例:"ABC "+"DEF" 得ABC DEF
- 在连接时将前面字符串的后面的空格删除"ABC "-"DEF" 得ABCDEF
$ 子串包含测试例:"ab"$"abcd"
5 赋值命令
STORE 8 TO X 将数值8赋给变量X
X=8,Y=9
6 常用数值函数
求绝对值函数:ABS(数) 例ABS(-8) 结果为8 SIGN()同ABS()
求平方根函数:SQRT(数) 例SQRT(16) 结果为4
求圆周率函数:PI()
求整函数:INT(数) 例INT(3.6) 结果为3
四舍五入函数:ROUND(数) 例ROUND(3.5567,1) 结果为3.6
求余函数:MOD(数值1,数值2) 例MOD(10,3) 结果为1
求最大值函数:MAX(数值列表) 例:MAX(567,3,7,34) 结果为567
求最小值函数:MIN(数值列表) 例:MIN(567,3,7,34) 结果为3
7 常用字符函数
求字符串长度:LEN(字符串) 例:LEN("ABCDEF") 结果为6
大写转小写:LOWER(字符)
小写转大写:UPPER(字符)
空格生成函数:SPACE(数值) 例:SPACE(5) 生成5个空格
删除左空格函数:LTRIM(字符表达式)例:TRIM("CHINA") 结果为CHIAN
删除右空格函数:TRIM(字符表达式)例:TRIM("CHINA") 结果为CHIAN
删除前后空格函数:ALLTRIM(字符表达式)例:TRIM(" CHINA") 结果为CHIAN
从左面取子串函数:LEFT(字符表达式,长度) 例:LEFT("ABCD",2) 结果为AB
从右面取子串函数:RIGHT(字符表达式,长度) 例:RIGHT("ABCD",2) 结果为CD
从指定位置取子串函数:SUBSTR(字符表达式,起始位置,长度) 例:SUBSTR("ABCDEF",2,3) 结果为BCD
计算子串出现的次数函数:OCCURS(字符表达式1,字符表达式2) 例:OCCURS("AB","ABCDABDEFAB") 结果为 3
求子串位置函数:A T(字符表达式1,字符表达式2) 例:A T("中国",“中华人民共和中国”)结果为13
求子串位置函数:A TC(字符表达式1,字符表达式2) 同上
注意:A T()和A TC()的最大区别是,A TC不区分大小写字符,A T()区分大小写字母
子串替换函数:STUFF(字符表达式1,起始位置,长度,字符表达式2)
例:STUFF("ABCDEFG",2,4,"1234") 结果为A1234FG 从2位开始用后面的字符串替换,替换4位,
注意:如果后面的字符串不足指定的值,则不足的地方删除
如果后面的字符串大于指定的值,则多于的插入到里面
字符替换函数:CHRTRN(字符表达式1,字符表达式2,字符表达式3) 如果字符表达式1中有字符表达式2的字符串,则用字符表达式3替换
例:CHRTRN("ABCDEFGABEFA","AB","12") 结果为12CDEFG12EFA
字符匹配函数:LIKE(字符表达式1,字符表达式2) 判断两上字符串的对应位置上的字符是否相等,如果相等,返回真值,否则返回假值
8 时间函数
日期函数:DA TE()
时间函数:TIME()
日期时间函数:DA TETIME()
求年份函数:YEAR(DA TE())
求月份函数:MONTH(DA TE())
求天数函数:DA Y(DA TE())
求时,分,秒函数:HOUR(DA TETIME()) MINUTE(DA TETIME()) SEC(DA TETIME()) 9 数值型转换成字符型函数
格式:STR(数值表达式,长度,小数位)
例:STR(567.656,6,2) 结果为567.66 注意:会自动四舍五入
10 字符串转换成数值函数
格式:V AL(字符表达式) 例:V AL("12.34") 结果为数值型的12.34
11 字符转成日期CTOD(字符表达式)
12 日期转成字符DTOC(日期)
13 字符转成日期时间型CTOT(字符表达式)
14 日期时间转成字符型TTOC(日期时间)
15 宏替换函数&
16 数组数的集合。
定义数组:格式:DIMENSION 数组名(下标上限1,下标上限2。
)
例:DIMENSION A(10)定义一个有10个元素的数组,数组名为A
注意:要访问其中的数的方法是:A(1)A(2)。
A(10)
A(1)="0001"
A(2)="王明"
A(3)="男"
A(4)=567
A(5)=.T.
例:DIMENSION B(3,4) 定义一个3*4的二维数组,数组名为B
表示其中的元素是:
B(1,1) B(1,2) B(1,3) B(1,4)
B(2,1) B(2,2) B(2,3) B(2,4)
B(3,1) B(3,2) B(3,3) B(3,4)
内容内存变量命令:
显示所有内存变量LIST MEMO
显示指定的内存变量LIST MEMO LIKE X 显示以X开头的所有内存变量的内容
将表中的记录赋给一个数组
SCA TTER FIELDS<字段列表> TO 数组名
例:
DIME A(10)
USE 学生表
GO 5
SCA TTER TO A
LIST MEMO LIKE A*显示数组A的内容
将数组中的内容赋给一条记录
GA THER FROM 数组名FIELDS<字段列表>
DIME B(10)
B(1)="0018"
B(2)="姓名"
B(3)="男"
USE 学生表
APPEND BLANK
GA THER FROM B
LIST。