计算机第三章之三、常用函数

举报
资源描述
第三章之三、常用函数函数是用程序来实现的一种数据运算或转换。函数特点:每个函数后面都有()每个函数都有一个返回值。每个函数后都有(),除宏替换函数&特 殊 无()一、数值函数:是指函数值为数值的一类函数。1.绝对值和符号函数ABS(数值):绝对值SIGN(数值):正 1 负-1、零 0例:sto r e 1 0 to x?abs(5-x),abs(x-5),si g n(5-x),si g n(x-l O)2.求平方根函数:*SQRT(数值):返回指定数值的平方根(不能为负)3.圆周率函数:PI()4.求整数函数:*INT(数值):取整,不进行四舍五入C EILING(数值):大于或等于指定数值的最小整数。F LOOR(数值):返回小于或等于指定数值的最大整数。5.四舍五入函数:R O U N D(数值1,数值2):数值2为保留的小数位数。6.求余数函数:*M O D(数值1,数值2):返回数1 除以数2的余数。7.求最大值和最小值函数:M A X(数值1,数值2,):返回其中最大的值MIN(数值1,数值2,):返回其中最小的值(所有数值类型必须相同)例:?m ax(2,1 270 5 ),m i n,汽车丫飞机丫轮船,)二、字符函数:字符函数是指自变量一般是字符型数据的函数。1.求字符串长度函数:*LEN(字符串)功能:返回指定字符的长度。例:x=中文visual foxpro6.0?len(x)2 .大小写转换函数:LOWER(字符串):将大写字母转换成小写字母。UPPER(字符串):将小写字母转换成大写字母。例:?lower(Xly2A*),upper(n=l)3.空格字符串生成函数:SPACE(数值):返回由指定数目的空格组成的字符串。4.删除前后空格函数:TRIM(字符串):去掉字符串尾部空格后形成新字符串。LTRIM(字符串):去掉字符串前导空格后形成新字符串。ALLTRIM(字符串):去掉字符串前导和尾部空格后形成新字符串。例:store space(l)+,TEST,+space(3)to ss?trim(ss)+ltrim(ss)+alltrim(ss)?len(ss),len(trim(ss),len(ltrim(ss),len(alltrim(ss)5 .取子串函数:*LEFT(字符串,长度):从字符串左端取一个指定长度的子串RIGHT(字符串,长度):从字符串右端取一个指定长度的子串SUBSTR(字符串,起始位置,长度):从指定的起始位置取指定长度的子串,省略长度则从指定位置一直取到最后一个字符。例:store“GOOD BYE!”TO x?left(x,2),substr(x,6,2)+substr(x,6),right(x,3)6.计算子串出现次数函数:OCCURS(字符串,字符串):返回第一个字符串在第二个字符串中出现的次数,函数值为数值型。若第一个字符串不是第二个字符串的子串,函数值为0。例:store abracadabra to s?occurs(,a,s),occurs(b,s),occurs(e ,s),occurs(,e,s)7.求子串位置函数:AT(字符串1,字符串2,数值):*功能:如果字符串1是字符串2的子中,则返回串1的首字母在串2中的位置,若不是则返回0。数值用于搜索串1在串2中的第几次出现,其默认值是1。ATC(字符串1,字符串2,数值):功能同上,不区分字母大小写。例:store This is Visual Foxpro to x?at(fox,x),atc(fox,x),at(“is”,x,3),at(“xo”,x)8.子串替换函数:STUFF(字符串1,起始位置,长度,字符串2)功能:用串2值替换串1中由起始位置和长度指明的一个子串,替换和被替换的字符个数不一定相等。如果长度为0,则串2插入由起始位置指定的字符前面。如果串2是空串,那么串1中由起始位置和长度指明的子串被删去。例:store GOOD BYE!5 to sistore MORNING to s2?stuff(s l,6,3,s2),stuff(s l,l,4,s2)9.字符替换函数:CHRTRAN(字符串1,字符串2,字符串3)功能:当串1中的一个或多个字符与第2串中的某个字符相匹配时,就用串3字符中的对应字符(相同位置)替换这些字符。如果串3包含的字符个数少于串2,因而没有对应字符,那么串1中相匹配的各字符将被删除。如果串3包含的字符个数多于串2,多余字符被忽略。例:xl=chrtran(ABACAD”,“ACD,“X12”)yl=chrtran(“计算机ABC”,“计算机“,“电脑)zl=chrtran(“大家好!”,“大 家 您 )?xl,yl,zl10.字符串匹配函数:*LIKE(字符串1,字符串2)功能:比较两个串对应位置上的字符,若所有对应字符都相匹配,函数返回逻辑真,否则返回逻辑假。例:store abc to xstore abed to y?like(ab,x),like(ab*,y),like(x,y),like(?b?,x),like(“Abc”,x)三、日期和时间函数:1 .系统日期和时间函数:DATE():返回当前系统日期TIME():返回当前系统时间,函数值为字符型。DATETIMEO:返回当前系统日期、时间。2.求年份、月份和天数函数:YEAR(日期或日期时间):返回年分MONTH(日期或日期时间):返回月份DAY(日期或日期时间):返回月里面的天数3.时、分和秒函数:HOUR(日期时间):返回小时部分MINUTE(日期时间):返回分钟部分SEC(日期时间):返回秒数部分四、数据类型转换函数:数据类型转换函数的功能是将某一种类型的数据转换成另一种类型的数据。1.数值转换成字符串:*STR(数值,长度,小数位数)功能:将数转换成字符串,转换时根据需要自动进行四舍五入。如果长度大于数值的长度则字符串加前导空格;如果长度大于等于数值整数部分但又小于数值长度,则优先满足整数部分而自动调整小数位数;如果长度值小于数值的整数部分位数,则返回一串星号(*)。例:store-123.456 to n?n=+str(n,8,3)?str(n,9,2),str(n,6,2),str(n,3),str(n,6),str(n)2.字符串转换成数值:VAL(字符串)功能:将由数字符号组成的字符串转换成相应的数值。若字符串内出现非数字字符,那么只转换前面部分,若字符串的首字符不是数字符号,则返回数值零,但忽略前导空格。例:store-123.to xstore 45 to ystore A45 to z?val(x+y),val(x+z),val(z+y)3.字符串转换成日期或日期时间:CTOD(字符串):将字符串转换成日期型数据。CTOT(字符串):将字符串转换成日期时间型数据。例:set date to ymdset century onset century to 19 rollover 51dl=ctod(t2001/03/18,)tl=ctot(.功能:替换出字符型变量的内容,即&的值是变量中的字符串。如果该函数与其后的字符无明确分界,则要用作函数结束标识。宏替换可以嵌套使用。例:(2)a=bac=abcdbc=20abcd=l()?&a.c,&aca=bn=5?&a(3)store 职工表 to dbuse&dbxm=姓名”?&xm-“你好!”skip?xm,&xm五、测试函数:1 .值域测试函数:BETWEEN(表达式1,表达式2,表达式3)功能:判断表达式1的值是否在表达式2和表达式3之 间(包括等于),函数值为逻辑.工,否则为.F.。如果表达式2或3中有一个是NULL值,那么函数值也是NULL。例:store.null,to xstore 100 to y?between(150,y,y+100),between(90,x,y)2.空值(NULL值)测试函数:ISNULL(表达式)功能:判断一个表达式的运算结果是否为null值,是二,否则.F.例:store.null,to x?x,isnull(x)3.空值测试函数:EMPTY(表达式)功能:根据表达式的运算结果是否为“空”值,返回.T.或.F.。注意:这里的“空”与NULL不同,函数empty(.nulL)的返回值为E。“空”指数值型0、字符型是空串或空格串等、逻辑型是.F.、备注型是无内容。4.数据类型测试函数:VARTYPE(表达式,逻辑表达式)功能:测试表达式的类型,返回大写字母。字母含义:返回字母数据类型返回字母数据类型C字符或备注G通用N数值D日期Y货币T日期时间L逻辑XNull 值0对象u未定义注:?vartype(a)其中变量a不存在,则为未定义。右运算结果为.null.,则根据逻辑值返回类型;如果逻辑值为T,就返回原来的数据类型(即是空值之前的类型)。如果是.F.或省略则返回X。例:x=AAA”store 10 to ystore.null,to xstore$100.2 to z?vartype(x),vartype(x,.T.),vartype(y),vartype(z)5.表文件尾测试函数:*EOF(工作区号I表别名)功能:测试指定表文件中的记录指针是否指向文件尾,若是返回工,否则返回E。表文件尾是指最后一条记录的后面位置。6.表文件首测试函数:BOF(工作区号I表别名)功能:测试记录指针是否指向文件首,是返回.工,否则返回.F.。表文件首是指第一条记录前面的位置。7.记录号测试函数:RECNO(工作区号I表别名)功能:返回当前记录号。指针指在文件首,记录号为1;指针指在文件尾,记录号为记录个数加1。8.记录个数测试函数:RECCOUNT(工作区号I表另IJ名)功能:返回表文件的记录个数。包括逻辑删除的记录。9.条件测试函数:*IIF(逻辑表达式,表达式1,表达式2)功能:测试逻辑表达式的值,若为T,返回表达式1的值,若为E,返回表达式2的值。例:x=100Y=300?iif(x 100,x-50,x+50),iif(y 100,y-50,y+50)Set century onStore date()to dStore dtoc(d)to s?s,iif(len(s)=8,这是两位数年份“,“年份是:“+str(year(d),4)10.记录删除测试函数:DELETED(表别名I工作区号)功能:测试记录指针所指的当前记录是否有删除标记例:u se 职工表Delete fo r性别=女 an d 职称=讲师”List 姓名,性别 for deleted()第五章关系数据库标准语言SQL仓库表:仓库号城市面积W H 1北京3 7 0W H 2上海5 0 0W H 3广州2 0 0W H 4武汉4 0 0职工表:仓库号职工号工资W H 2E 11 2 2 0W H 1E 31 2 1 0W I 1 2E 41 2 5 0W H 3E 61 2 3 0W i l lE 71 2 5 0订购单表:职工号供应商号订购单号订购日期E 3S70 R6 70 6/2 3/0 1E 1S40 R7 30 7/2 8/0 1E 7S40 R7 60 5/2 5/0 1E 6.NU LL.0 R7 7.NU LL.E 3S40 R7 90 6/1 3/0 1E l.NU LL.0 R8 0.NU LL.E 3.NU LL.0 R9 0.NU LL.E 3S30 R9 10 7/1 3/0 1供应商表:供应商号供应商名地址S3振华电子厂西安S4华通电字公司北京S66 0 7 P郑州S7爱华电子厂北京S Q L 是结构化查询语言St r u c t u r e d Qu e r y Lan g u ag e 的缩写1 9 8 6 年1 0 月由美国ANSI 公布的特点:(1)一种一体化语言,包括:数据定义、数据查询、数据操纵、数据控制(2)高度非过程化的语言(一次性完成很多操作)(3)非常简洁(4)以命令方式使用,也
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关资源
正为您匹配相似的精品文档
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新


电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号