还剩15页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
第章数据、函数与体现式3数据是计算机程序处理的对象,也是运算产生的成果,因此我们首先应当认识VFP能处理哪些数据,掌握多种形式数据的表达措施可以从不一样的角度对数据进行分类从数据类型来分,数据可以分为数值型数据、字符型数据、逻辑型数据等从数据的存处方式来分,数据可分为常量和变量3•1Visual Foxpro常用数据类型P37表3-13-2常量与变量在程序运行过程中,我们把需要处理的数据寄存在内存中,称一直保持不变的数据为“常量”,称寄存可变数据的存储单元为“变量”,其中的数据称为变量的值
一、常量是一种详细的数据项,在整个操作过程中其值保持不变VFP支持如下6种类型的常量1•数值型常量2•货币型常量前置的符号$,采用4位小数3•字符型常量单引号、双引号或方括号称为定界符4-日期型常量定界符是一对花括号1老式的日期格式{mni-dd-yy}2严格的日期格式{^yyyy-mm-dd}设置不一样的日期格式1在命令窗口键入如下4条命令,并分别回车执行SET CENTURYON SET设置4位数字年份MARK TO SET DATETO恢复系统默认的斜杠日期分派符YMD「-11-26}设置年月日格式SET CENTURYOFF设置2位数字年份SET MARKTO SET DATE〃〃设置日期分隔符为西文句号TO「-11-26}5-日期MDY设置月日年格式格式时间型常量2在命令窗口键入如下4条命令,并分别回车执行:在命令窗口键入如下2条命令,并分别回车执行:SET HOURSTO24厂-n-268:30:OOP}6•逻辑型常量只有“真”和“假”两种值,一般用.T.表达逻辑真,用.F.表达逻辑假注意T和F两边的圆点不可少,否则会出错
二、变量1字段变量2•简朴内存变量系统内存变量3•数组变量定义DIMENSION〈数组名〉〈下标上限1[,〈下标上限2〉][,……]DECLARE〈数组名〈下标上限1〉[,〈下标上限2〉][,….•刀例DIMENSION a3,b⑵3此例定义了一种一维数组a,并且有3个元素,分别为al,a2,a3;数组b为二维数组,分别是bl,l,bl,2,b1,3,b2,l,b2,2,b⑵3数组一旦被定义后没个元素的初0值为逻辑假,可以使用赋值命令给不一样的元素赋不一样的数据类型的值
三、内存变量常用命令内存的命名规则以字母可以用中文做变量名,但不倡导开头,只能由字母、数字、或下划线构成1内存变量的赋值格式1STORE〈体现式〉T0〈变量名表〉格式2〈内存变量名〉=〈体现式〉2•体现式值的显示格式L[〈体现式表〉]格式2〈体现式表〉第1条命令把成果在下一行最左边的位置输出;第2条则将成果在光标的目前位置输出3内存变量的显示・格式1LIST MEMORY[LIKE〈通配符〉][TO PRINTER/TO FILE〈文献名〉]格式2:DISPLAY MEMORY[LIKE〈通配符〉][TO PRINTER/TO FILE〈文献名》]通配符当中“?”代表内存变量中的任意一种字符代表内存变量中的任意一种或多种字符4•内存变量的删除格式各CLEAR MEMORY格式2:RELEASE〈内存变量名表〉格式4RELEASE ALL[LIKE〈通配符〉]例在命令窗口中依次输入下列命令,命令格式及屏幕显示如下CLEAR MEMORYDIMENSIONy2,2STORE,xxx TOxl,yl,1y3二H-23}x2=$
123.23DISPLAY MEMOLIKE y*RELEASE ALLLIKE y*X={^-11-23,11:30pDISPLAY MEMOLIKE XRELEASEX3-3常用函数函数是用程序来实现的一种数据运算或转换每一种函数均有特定的数据运算或转换功能,它往往需要若干个自变量,即运算对象,但只能有一种运算成果,称为函数值或返回值VFP中的函数有两种,顾客自定义函数和系统函数函数可用函数名加一对圆括号加以调用,自变量放在圆括号里,如LENx o函数调用可以出目前体现式里,体现式将函数的返回值作为自己运算的对象
一、数值函数P45表3-2数值函数是指函数值为数值的一类函数,它们的自变量和返回值往往都是数值型数据1•绝对值和符号函数ABS〈数值体现式〉返回指定的数值体现式的绝对值SIGN〈数值体现式》返回指定数值体现式的符号当体现式的运算成果为正、负和零时,函数值分别为
1、-1和0例STORE10TO XABS5-X,ABSX-5,SIGN5-X,SIGNX-102•求平方根函数SQRT〈数值体现式》返回指定体现式的平方根体现式的值不能为负例SQRT2,271/2STORE-100TO XSIGNX*SQRTABSX3•圆周率函数PIO返回圆周率兀数值型,该函数没有自变量4•求整数函数*INT〈数值体现式〉返回指定数值体现式的整数部分CEILING<作数值体现式》返回不小于或等于指定数值体现式最小整数FLOOR〈数值体现式〉返回不不小于或等于指定数值体现式最大整数例STORE
5.8TO XINTX,INT-X,CEILINGX,CEILING-X,FLOORX,FLOOR-X5•四舍五入函数*ROUND〈数值体现式1>,〈数值体现式2»返回指定体现式在指定位置四舍五入后的成果〈数值体现式2〉指明四舍五入的位置若<数值体现式2〉不小于等于0,表达要保留的小数位数《数值体现式2>不不小于0,表达整数部分的舍入位数例X=
345.345ROUND X,2,ROUND X,1,ROUND X,0,ROUND X,-16•求余数函数*MOD〈数值体现式1>,〈数值体现式2»返回两个数值相除后的余数〈数值体现式1〉是被除数,<数值体现式2>是除数函数返回值的符号与《数值体现式2〉相似例MOD10,3,MOD10,-3,MOD-10,3,MOD-10,-37求最大值和最小值函数・MAX〈数值体现式1〉,〈数值体现式2〉[,〈数值体现式3>,……]计算各自变量体现式的值,并返回其中的最大值MIN〈数值体现式1〉,〈数值体现式2〉[,〈数值体现式3〉,……]计算各自变量体现式的值,并返回其中的最小值自变量体现式的类型可以是数值型、字符型、货币型、双精度型、浮点型、日期时间型,但所有体现式的类型必须相似例?MAX〃2〃,〃12〃,〃05〃,MAX2,12,05,MIN〃汽车〃,〃飞机〃,〃轮船〃MAX{^-05-10},{^-12-03},「-01-01}8随机函数RAND・反回一种01的随机数,其值不确定〜
二、字符函数P46表3-3指自变量一般是字符型数据的函数1•求字符串长度函数LEN〈字符体现式〉返回指定字符体现式值的长度,即所包括的字符个数一种中文占两个字符函数值为数值型例X二〃中文visual FoxPro
6.0”LENX2•大小写转换函数LOWER〈字符体现式》大写字母转换成小写字母,其他字符不变UPPER〈字符体现式〉小写字母转换成大写字母,其他字符不变例LOWER Xly2A*,UPPER、二13•空格字符串生成函数SPACE〈数值体现式》返回由指定数目的空格构成的字符串”ab+SPACE3+“cd”4•删除前后空格函数*TRIM〈字符体现式〉返回字符体现式值去掉尾部空格后形成字符串oLTRIMC〈字符体现式〉返回字符体现式值去掉前导空格后形成字符串o ALLTRIM〈字符体现式〉返回字符体现式值去掉前导和尾部空格后形成的字符串例STORE SPACE1+TEST+SPACE3TO SSTRIMSS+LTRIMSS+ALLTRIMSSTESTTEST TESTLENSS,LENTRIMSS,LENLTRIMSS,LENALLTRIMSS5•取子串函数*LEFT〈字符体现式〉,〈长度〉从体现式值的左端取一种指定长度的子串作为函数值RIGHT〈字符体现式〉,〈长度〉从体现式值的右端取一种指定长度的子串作为函数值SUBSTR〈字符体现式〉,〈起始位置〉[,〈长度〉]从体现式值的指定起始位置取指定长度的子串作为函数值,若缺省第三个自变量之长度,,则从指定位置一直取到最终一种字符例STORE GOOD BYE!”TO XLEFT X,2,SUBSTR X,6,2+SUBSTR X,6,RIGHT X,36•计算子串出现次数函数*OCCURS〈字符体现式1>,〈字符体现式2»返回第一种字符串在第二个字符串中出现的次数,函数值为数值型,若第一种字符串不是第二个字符串的子串,函数值为0例STORE abracadabraTO SOCCURSa,S,OCCURSb,S,OCCURSc,S,OCCURSe,,S7•求子串位置函数*AT(〈字符体现式1〉,〈字符体现式2〉[,《数值体现式>])ATC(〈字符体现式1〉,〈字符体现式2〉[,〈数值体现式〉])函数值为数值型假如〈字符体现式1>是〈字符体现式2〉的子串,则返回〈字符体现式1〉值的首字符在〈字符体现式2>值中的位置;若不是子串,则返回OoATC()与AT()功能类似,但在子串比较时不辨别字母大小写第三个自变量〈数值体现式>,用于表明要在〈字符体现式2〉值中搜索〈字符体现式1〉值的第几次出现,其默认值是1例STORE Thisis visualFoxPro TO X AT(〃fox〃,X),ATC(〃fox〃,X),AT X,3),AT(〃x0〃,X)8子串替代函数*STUFF(〈字符体现式),〈起始位置〉,〈长度〉,〈字符体现式2>)从〈字符体现式〉的〈起始位置》开始删除〈长度〉个字符后插入〈字符体现式例STORE“GOODBYE!”TO SISTORE“MORNING”TO S2STUFF SI,6,3,S2,STUFF SI,1,4,S29•字符替代函数*CHRTRAN(〈字符体现式1〉,〈字符体现式2〉,〈字符体现式3〉)以〈字符体现式3〉替代在〈字符体现式1>中出现的〈字符体现式2>例XI二CHRTRAN(〃ABACAD〃,〃0ACD〃,〃X12〃)Y1二CHRTRAN(〃计算机ABC〃,〃计算机〃,〃电脑〃)Zl=CHRTRAN(〃大家好!〃,〃大家〃,〃你〃)X1,Y1,Z110•字符串匹配函数LIKE(〈字符体现式1>,〈字符体现式2»比较两个字符串对应位置上的字符,若所有对应字符都相匹配(注意辨别大小写),函数返回逻辑真(.T.),否则返回逻辑假(.F.)o〈字符体现式1〉中可以包括通配符*和?*可与任何数目的字符相匹配,?可与任何单个字符相匹配例STORE“abc”TO XSTORE〃abcd〃TO YLIKE(〃ab*〃,X),LIKE(〃ab*〃,Y),LIKE(x,y)LIKE(〃b〃,X),LIKE(〃Abc〃,X)
三、日期和时间函数P46表3-4自变量一般是日期型数据或日期时间型数据1•系统日期和时间函数DATE()返回目前系统日期,函数值为日期型TIMEO以24小时制、hh:mm:ss格式返回目前系统时间,函数值为字符型DATETIME()返回目前系统日期时间,函数值为日期时间型例DATE(),TIME(),DATETIME()2•求年份、月份和天数函数YEAR(〈日期体现式〉/〈日期时间体现式〉)从指定的日期体现式或日期时间体现式中返回年份MONTH(〈日期体现式》/〈日期时间体现式》)从指定的日期体现式或日期时间体现式中返回月份DAY(〈日期体现式〉/〈日期时间体现式〉)从指定的日期体现式或日期时间体现式中返回月里面的天数这三个函数的返回值都为数值型例STORE「-08T8}TO dYEAR(d),MONTH(d),DAY(d)3时、分和秒函数・HOUR(〈日期时间体现式〉)从日期时间体现式中返回小时部分(24小时制)MINUTE(〈日期时间体现式〉)从日期时间体现式中返回分钟部分SEC(〈日期时间体现式〉)从日期时间体现式中返回秒数部分这三个函数的返回值都为数值型例STORE「-03-1802:30:50P}TO tHOURt,MINUTEt,SECtI、数据类型转换函数P46表3-6功能是将某一种类型的数据转换成另一种类型的数据1•数值转换成字符串*STR(〈数值体现式》[,<长度>[,〈小数位数〉]]〉将〈数值体现式〉的值转换成字符串,转换时根据需要自动进行四舍五入返回字符串的理想长度L是〈数值体现式〉值的整数部分位数加上〈小数位数)值,再加上1位小数点假如《长度〉值不小于L,则字符串加前导空格以满足规定的〈长度》规定;假如〈长度〉值不小于等于《数值体现式>值的整数部分位数(包括负号)但又不不小于L,则优先满足整数部分而自动调整小数位数;假如《长度〉值不不小于〈数值体现式>值的整数部分位数,则返回一串星号〈小数位数》的默认值为0,〈长度》的默认值为10,例STORE-
123.456TO N〃N=〃+STR(N,8,3)N=-
123.456STR(N,9,2),STR(N,6,2),STR(N,3),STR(N,6),STR(N)-
123.46-
123.5***-123-1232字符串转换成数值*VAL(〈字符体现式》)将由数字符号(包括正负号、小数点)构成的字符型数据转换成对应的数值型数据
1、若字符串内出现非数字字符,那么只转换前面部分;
2、若字符串的首字符不是数字符号,则返回数值零,但忽视前导空格例STORE T
23.TO XSTORE45TO YSTOREA45TO ZVAL(X+Y),VAL(X+Z),VAL(Z+Y)3•字符串转换成日期或日期时间*CTOD(〈字符体现式〉)将〈字符体现式〉值转换成日期型数据CTOT(〈字符体现式〉)将〈字符体现式〉值转换成日期时间型数据字符串中的日期部分格式要与SET DATETO命令设置的格式一致其中的年份可以用四位,也可以用两位例SET DATETO YMD显示日期或日期时间时,用4位数显示年份SET CENTURYONdl=CT0D,/03/18,tl=CTOT703/1810:31:54PM+20dl,tl4-日期或日期时间转换成字符串DTOC〈日期体现式》/〈日期时间体现式〉[,1]将日期型数据或日期时间数据的日期部分转换成字符串TTOC〈日期时间体现式>[,1]将日期时间数据转换成字符串字符串中日期部分的格式与SETDATETO语句的设置和SET CENTURYON/FFON为四位数年份,OFF为两位数年份语句的设置有关时间部分的格式受SET HOURSTO12/24语句的设置影响对DTOCO,假如使用选项1,则字符串的格式总是为YYYYMMDD,共8个字符对TTOC,假如使用选项1,则字符串的格式总是为YYYYMMDDHHMMSS,采用24小时制,共14个字符例STORE DATETIMETO TDTOCt,DTOCt,1,TTOCt,TTOCt,15•宏替代函数*〈字符型变量〉,[.]替代出字符型变量的内容,即的值是变量中的字符串假如该函数与其后的字符无明确分界,则要用〃•〃作函数结束标识宏替代可以嵌套使用例STORE“STU”TO DBUSEDB相称于USE STUXM1=〃姓名〃XM1-〃你好!〃相称于?姓名-〃你好!〃李梅你好!字段变量姓名的值是李梅SKIP转到下条记录”姓名”,XM1姓名相称于?“姓名”,XM李英
五、测试函数P46表3-5P47表3-7在数据处理过程中,有时顾客需要理解操作对象的状态例如,要使用的文献与否存在、数据库表的目前记录号、与否抵达了文献尾、检索与否成功、某工作区中记录指针所指的目前记录与否有删除标识、数据类型等信息尤其是在运行应用程序时,常常需要根据测试成果来决定下一步的处理措施或程序走向1•值域测试函数*BETWEEN〈体现式T〉,〈体现式L>,<体现式H»判断一种体现式的值与否介于此外两个体现式的值之间当〈体现式T〉值不小于等于〈体现式L〉,且不不小于等于〈体现式H〉时,函数值为逻辑真.「,否则函数值为逻辑假.F.注意假如〈体现式L>,或〈体现式H>,有一种是NULL值,那么函数值也是NULL值该函数的自变量类型既可以是数值型,也可以是字符型、日期型、日期时间型、浮点型、整型、双精度型或货币型但三个自变量的数据类型要一致例STORE.NULL.TO XSTORE100TO YBETWEEN150,Y,Y+100,BETWEEN90,X,Y2•空值NULL值测试函数ISNULL〈体现式〉判断一种体现式的运算成果与否为NULL值,若是NULL值返回逻辑真.T.,否则返回逻辑假.F.例STORE.NULL.TO XX,ISNULLX3•〃空〃值测试函数*EMPTY〈体现式〉根据指定体现式的运算成果与否为〃空〃值,返回逻辑真C T.或逻辑假.F.o首先要注意,这里所指的〃空〃值与NULL值是两个不一样的概念函数EMPTY.NULL的返回值为逻辑假.F.另一方面,该函数自变量体现式的类型除了可以是数值之外,还可以是字符型、逻辑型、日期型等类型不一样类型数据的〃空〃值,有不一样的规定如下表所示数据类型〃空值〃数据类型〃空值〃数值型0双精度型0字符型空串、空格、制表符、回车、换行日期型空如CTOD〃〃货币型0日期时间空如CTOT〃〃浮点型0逻辑型.F.整型0备注字段空无内容例?EMPTY.NULL.,EMPTY0,EMPTY,EMPTY.F.USE STUEMPTY简历4•数据类型测试函数VARTYPE〈体现式〉[,〈逻辑体现式〉]测试〈体现式〉的类型,返回一种大写字母,函数值为字符型字母的含义如下表所示若〈体现式〉的运算成果是NULL值,则根据〈逻辑体现式〉值决定与否返回<体现式〉的类型假如〈逻辑体现>值为.T.,就返回〈体现式》的原数据类型假如《逻辑体现式〉值为.F.或缺省,则返回X,以表明〈体现式》的运算成果是NULL值返回的字母数据类型返回的字母数据类型C字符型或备注型G通用型N数值型、整型、浮点型或双精度型D日期型Y货币型T日期时间型L逻辑型X Null值0对象型U未定义例X=〃AAA〃STORE10TO YSTORE.NULL.TO XSTORE$
100.2TO ZVARTYPEX,VARTYPEX,.T.,VARTYPEY,VARTYPEZX CN Y5•表文献尾测试函数*系统对表中的记录是逐条进行处理的对于一种打开的表文献来说,在某一时刻只能处理一条记录VFP为每一种打开的表设置了一种内部使用的记录指针,指向正在被操作的记录,该记录称为目前记录记录指针的作用是标识表的目前记录表文献的逻辑构造下图所示最上面的记录是首记录,记为TOP,最下面的记录是尾记录,记为BOTTOM在第一种记录之前有一种文献起始标识,称为Beginning of;在最终一种记录的背面有一种文献结束标识,End of使用测试函数可以得到指针的位置刚刚打开表时,记录指针总是指向首记录文献起始标识首记录TOP第2个记录记录指针----------------第i个记录►尾记录BOTTOMEOFk工作区号〉/〈表别名〉]测试指定表文献中的记录指针与否指向文献尾,若是返回逻辑真.「,否则返回逻辑假.F.表文献尾是指最终一条记录的背面位置若缺省[〈工作区号》/〈表别名>],则测试目前表0文献若在指定工作区上没有打开表文献,函数返回逻辑假.F.o若表文献中不包括任何记录,函数返回逻辑真.T.o例:USE STUGoBOTTOMEOF SKIPEOF,EOF2假定2号工作区没有打开表6•表文献首测试函数BOF[〈工作区号》/〈表别名>]测试目前表文献若缺省自变量或指定表文献中的记录指针与否指向文献首,若是返回逻辑真.T.,否则返回逻辑假.F.表文献首是指第一条记录的前面位置若指定工作区上没有o打开表文献,函数返回逻辑假.F.o若表文献中不包括任何记录,函数返回逻辑真.T.7•记录号测试函数*RECNO[<工作区号/〈表别名>]返回目前表文献若缺省[〈工作区号〉/〈表别名〉]或指定表文献中目前记录记录指针所指记录的记录号假如指定工作区上没有打开表文献,函数值为0o假如记录指针指向文献尾,函数值为表文献中的记录数加lo假如记录指针指向文献首,函数值为表文献中第一条记录的记录号例USE STU假定表中有5条记录BOF,RECNO显示.F.SKIP-1BOF,RECNO显示.T.GO BOTTOMEOF,RECNO显示.F.记录数SKIPEOF,RECNO显示.T.目前记录号记录数加18•记录个数测试函数*RECCOUNT[<工作区号/〈表别名>]返回目前表文献若缺省自变量或指定表文献中的记录个数假如指定工作区上没有打开表文献,函数值为0RECCOUNTO返回的是表文献中物理上存在的记录个数不管记录与否被逻辑删除以及SET DELETED的状态怎样,也不管记录与否被过滤SET FILTER,该函数都会把它们考虑在内例USE STURECCOUNT显示记录数9条件测试函数*HF〈逻辑体现式〉,〈体现式1〉,〈体现式2»测试〈逻辑体现式》的值,若为逻辑真.「,函数返回〈体现式1》的值,假.F.函数返回〈体现式2〉的值〈体现式1〉和〈体现式2>的类型不规定相似例X100Y300IIFX>100,X-50,X+50,IIFY>100,Y-50,Y+50SET CENTURYONSTORE DATETO dSTOREDTOC dTO ss,IIFLENs=8,〃这是两位数年份〃,〃年份是〃+;STRYEARd,4当日的系统日期年份是10•记录删除测试函数DELETED卜表的别名>/〈工作区号>]测试指定的表,或在指定工作区中所打开的表,记录指针所指的目前记录与否有删除标识〃*〃若有为真,否则为假若缺省[〈表的别名〉/〈工作区号》],则测试目前工作区中所打开的表例SELECT0选择最小号空闲工作区USE STU打开职工表DELETE FOR姓名二〃李梅〃逻辑删除记录1个删除记录LIST学号,姓名FOR DELETED列出被逻辑删除的记录VFP
6.0提供非常丰富的函数,在此仅举出某些常用函数的3•2体现式体现式是由常量、变量和函数通过特定的运算符连接起来的式子无论是简朴的还是复杂的合法体现式,按照规定的运算规则最终均能计算出一种成果,即体现式的值根据体现式值的类型,体现式可分为数值体现式、字符体现式、日期时间体现式和逻辑体现式大多数逻辑体现式是带比较运算符的关系体现式
一、数值、字符与日期时间体现式1•数值体现式数值体现式由算术运算符将数值型数据连接起来形成,其运算成果仍然是数值型数据数值型数据可以是数值型常量或者变量1算术运算优先级数值体现式中的算术运算符有些与平常使用的运算符稍有区别,算术运算符及其含义和优先级为小括弧,乘方运算,乘、除运算、求余运算,力口、减运算2求余运算求余运算%和取余函数MOD的作用相似余数的正负号与除数一致乘*、除/和求余运算%时,它们具有相似的优先级例求余运算15%4,15%-4STORE54TOX,YZ二21X%Z,MOD X,Z,X%Y-702字符体现式由字符串运算符将字符型数据连接起来形成,其运算成果仍然是字符型数据+将前后两个字符串首尾连接形成一种新的字符串一将连接前后两个字符串,并将前字符串的尾部空格移到合并后的新字符串尾部例A=Hello〃b=everyone!”a+b,a-b3日期时间体现式使用的运算符有+和-日期时间体现式的格式有一定限制,不能任意组合,例如,不能用运算符+”将两个〈日期连接起来合法的日期时间体现式格式如下所示,其中<天数>和《秒数〉都是数值体现式〈日期〉+〈天数〉日期型,指定日期若干天后的日期日期型,指定日期若干天后的日期日期型,〈天数〉+〈日期〉指定日期若干天前的日期数值型,两个指〈日期〉-〈天数〉定日期相差的天数指定日期时间若干秒后〈日期〉-〈日期〉的日期时间数指定日期时间若干秒后的日〈日期时间》+〈秒数>期时间间指定日期时间若干秒前的日期时〈秒数〉+〈日期时间》间数两个指定日期时间相差的秒数〈日期时间〉-〈秒数〉〈日期时间〉-〈日期时间例{-03-19}+10,{-03-19}-{-03-19}「-03-1910:10:10AM}+10符号+和-既可以作为日期时间运算符,也可以作为算术运算符和字符串连接运算符究竟作为哪种运算符使用,要看它们所连接运算对象的数据类型而定
二、关系体现式1•关系体现式关系体现式一般也称为简朴逻辑体现式,它由关系运算符将两个运算对象连接起来形成,即〈体现式1>〈关系运算符〉〈体现式2>其作用是比较两个体现式的大小或前后其运算成果是逻辑型数据关系运算符及其含义如下,它们的优先级相似<不不小于,>不小于,=等于,<>、#、!=不等于<=不不小于等于,>=不小于等于==字符串精确比较,$字符子串包括测试运算符==和$仅合用于字符型数据其他运算符合用于任何类型的数据,但前后两个运算对象的数据类型要一致1数值型和货币型数据比较按数值的大小比较,包括负号例如,0>T$150>$1052日期或日期时间型数据比较越早的日期或时间越小,越晚的日期或时间越大例如,{^-01-10}>「-12-28}3逻辑型数据比较.T.不小于.F.4子串包括测试关系体现式〈前字符型体现式>$〈后字符型体现式》为子串包括测试,假如前者是后者的一种子字符串,成果为逻辑真.「,否则为逻辑假.F.例STORE“计算机”TO siSTORE“微型计算机”TO s2SI$S2,S2$SI,SI$S2>S2$SI2字符串精确比较与EXACT设置在用双等号运算符比较两个字符串时,只有当两个字符串完全相似包括空格以及各字符的位置时,运算成果才会是逻辑真.T.,否则为逻辑假.F.在用单等号运算符占比较两个字符串时,运算成果与SET EXACTON/OFF设置有关该命令是设置精确匹配与否的开关,可在命令窗口或在程序中执行,也可以通过“选项”对话框中的〃数据〃选项卡设置系统默认OFF状态当处在OFF状态时,只要右边的字符串与左边字符串的前面部分内容相匹配,即可得到逻辑真.T.的成果也就是说,字符串的比较以右面的字符串为目的,右字符串结束即终止比较例字符串精确比较与EXACT设置示例SET EXACTOFF系统默认,以右串为结束标志STORE〃计算机〃TO S1STORE〃计算机〃TOS2STORE〃计算机世界计”T0S3S1=S3,S3=S1,S1=S2,S2=S1,S2二二SI
三、逻辑体现式1•逻辑体现式由逻辑运算符将逻辑型数据连接起来而形成,其运算成果仍然是逻辑型数据逻辑运算符有三个.NOT.或!或NOT——逻辑非.AND.或AND——逻辑与.0R.或0R——逻辑或优先级次序依次为NOT、AND、0Ro逻辑运算符的运算规则如下<1E1>——逻辑型数据
1、<1E2>——逻辑型数据21E11E
2.NOT.1E11E
1.AND.1E21E
1.OR.1E
2.T..T..F..T..T..T..F..F..F..T..F..T..T..F..T..F..F..T..F..F.在许多命令和语句的格式中均有〈条件》语法成分,这里的〈条件〉,就是逻体现式或关系体现式在编写复杂条件时,要注意分析问题的语义例如,查询基本工资高于1800元的讲师或副专家,条件体现式应当写成基本工资=1800AND职称=〃讲师〃OR基本工资=1800AND职称=〃副专家〃或者写成:基本工资=1800AND职称=〃讲师〃0R职称=〃副专家〃2•运算符优先级先执行算术运算符、字符串运算符和日期时间运算符,另一方面执行关系运算符,最终执行逻辑运算符圆括号作为运算符,可以变化其他运算符的运算次序圆括号中的内容作为整个体现式的子体现式,在与其他运算对象进行各类运算前,其成果首先要被计算出来我们说圆括号的优先级最高,其含义就在于此圆括号可以嵌套例不一样运算符构成的体现式示例122AND人人民OR.T..F.10%3=1AND15%2=00R,电脑!=,计算机作业P77学习指导
一、1不必交
二、23要交,第10题不做〜。
个人认证
优秀文档
获得点赞 0