《数据类型表达式函数.pptx》由会员分享,可在线阅读,更多相关《数据类型表达式函数.pptx(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、字段类型和宽度:决定存储在字段中值的数据类型和该字段所能容纳数据的最大字节数。常用的类型和宽度:字符型C,最多254数值型N,最多20逻辑型L,1日期型D和日期时间型T,8、货币型Y,8整数型I,4、通用型G和备注型M,4第1页/共27页数值型数值型(N N)常量常量整数52-6小数2.36-6.12科学计数法-2.3E60.12E-6 数值型常量由数字、小数点、正负符号、E组成数值型数值型(N)(N)变量变量x=52x=52y=2.36+xy=2.36+x变量的命名:可以由字符、数字、汉字、下划线变量的命名:可以由字符、数字、汉字、下划线“_”_”构成,但不能以数字开头。构成,但不能以数字开
2、头。第2页/共27页内存变量的赋值=STORE TO 内存变量显示命令?|?内存变量显示 LIST MEMORY LIKE 变量的清除 CLEAR MEMORY RELEASE 数组:必须先定义后使用 DIMENSION(,)DECLARE(,内存变量和字段变量冲突时将怎样处理内存变量和字段变量重名时,字段变量优先级高。用户想访问内存变量,在内存变量名前加M.或M-作为前缀。第3页/共27页算术运算算术运算优先级运算符说明1-取负2或*数学中的乘方,如34表示3*3*3*33*、/、%乘、除、取余4+、-加、减例如:?5%2?(3-1)*2/4?-22注意事项:1、乘号不能省略数值型数值型(N
3、 N)运算运算第4页/共27页函数名功能例子与结果ABS()N的绝对值ABS(5.6),ABS(-8)5.6,-8SQRT()N的平方根SQRT(2)1.41INT()N的整数部分INT(12.7),INT(-4.8)12,-4FLOOR()不大于N的最大整数FLOOR(3.5)3CEILING()不小于N的最小整数CEILING(3.5)4数值型数值型(N N)函数函数?2*(round(3.25,1)-int(3.8)+mod(6,3)第5页/共27页函数名功能例子与结果MOD(,)N1和N2相除后的余数MOD(5,3)2ROUND(,)N1保留N2位小数ROUND(12.647,2)RO
4、UND(12.647,-1)12.6510RAND()(0,1)的随机数RAND()数值型数值型(N N)函数函数?2*(round(3.25,1)-int(3.8)+mod(6,3)第6页/共27页1、货币数值前加$85$56.9212、最多4位小数 x=$1.234687 结果:x=$1.23473、无科学记数法形式$5.23E+5货币型货币型(Y Y)和数值型几乎一样,但有以下三点不同第7页/共27页年/月/日 例:2005/12/07年-月-日 2005-12-07年.月.日 2005.12.07日期型日期型(D D)常量常量设置分隔符:SET MARK TO-设置年的位数:SET C
5、ENTURY ON 四位年 SET CENTURY OFF 两位年输出格式:默认为 月/日/两位年,输出时不显示花括号输入格式:SET MARK TO/SET MARK TO.第8页/共27页日期型(D)变量abc=2005/12/07设置日期显示格式:SET DATE TO MDYSET DATE TO DMYSET DATE TO YMD 12/07/20052005/12/0707/12/2005第9页/共27页日期时间型日期时间型(T)(T)常量常量2008-8-8 10:20:82008-8-8 22:20:824小时格式2008-8-8 10:20:8 AM2008-8-8 10:
6、20:8 PM12小时格式10:20:8 PM 也是日期时间型日期时间型,没有时间型时间型日期时间型(T)变量X=2008-8-8 22:20:8第10页/共27页日期运算日期运算日期+天数 例:2007-08-29+3 日期-天数 例:2007-08-29-3日期-日期 例:2007-08-29-2006-08-20日期型(D)和日期时间型(T)的运算日期时间+秒数 日期时间-秒数 日期时间-日期时间 日期时间+日期时间 表达式2005-1-3 10:0:02005-10-3 9:0:0的数据类型是_(提示:计算后结果值的类型)日期+日期 第11页/共27页函数格式说明例子与结果DATE()
7、当前日期DATE()TIME()当前时间TIME()DATETIME()当前日期和时间DATETIME()YEAR(表达式)取年YEAR(2007-07-24)2007MONTH(表达式)取月MONTH(2007-07-24)07DAY(表达式)取日DAY(2007-07-24)24日期型(D)和日期时间型(T)的函数SQL练习:查询90后的学生信息第12页/共27页函数格式说明例子与结果HOUR(表达式)取小时数HOUR(2007-07-24 09:35:40P)21MINUTE(表达式)取分钟数MINUTE(2007-07-24 09:35:40P)35SEC(表达式)取秒数SEC(200
8、7-07-24 09:35:40P)40日期型(D)和日期时间型(T)的函数已知小红的生日是1986-6-12,则表示小红现在年龄的表达式是_Year(Date()year(1986-6-12)Date()1986-6-12)SQL练习:查询学生的学号、年龄信息第13页/共27页字符型字符型(C C)常量常量是用定界符括起来的一串字符是用定界符括起来的一串字符定界符定界符:半角双引号、单引号或方括号中间的字符中间的字符:汉字、ASC码(大下写字母、数字字符、特殊符号)在内存中在内存中:一个汉字占两个字节,其他字符占一个字节。例如:学号 hello_34 123$3(#5 注意事项:1、定界符一
9、致 2、某定界符作为字符串的内容时,要使用不一样的另外两种定界符例如:abckkk 3、输出字符时,不显示定界符例如:?“你好”输出结果为:你好 字符型(C)变量 mn=沈阳师范大学 in CHINA第14页/共27页字符型(C)运算运算符名称+直连-左串末尾所有连续空格移到右串末尾,再直连例如:(表示空格)?abc+mn输出结果:abcmn 82X=8?x-2?abc-mn?12+8abcmn128第15页/共27页函数名功能例子与结果SUBSTR(,)从C的N1位置开始取N2个字符,省略N2取到最后SUBSTR(ABC,2,1)BLEFT(,)从字符串C左取长度为N的子串LEFT(ABC,
10、2)ABRIGHT(,)从字符串C右取长度为N的子串RIGHT(ABC,2)BCLTRIM()返回删除了C的左端空格后的字符串ab+LTRIM(cd)abcdRTRIM()返回删除了C的右端空格后的字符串RTRIM(ab)+cdabcdALLTRIM()返回删除了C的两端空格后的字符串a+ALLTRIM(b)+c abcSQL练习:练习:查询姓查询姓“王王”的学生信息的学生信息查询姓名以查询姓名以“阳阳”字结束的学生信息字结束的学生信息第16页/共27页LEN()求字符串C的长度LEN(ABC),LEN(函数)3,4AT(,)返回c1在c2中第n次出现的位置,省略n时表示第1次出现AT(B,A
11、BC),AT(B,ABAB,2)2,4SPACE()返回N个空格a+SPACE(2)+babUPPER()返回把C转换成大写的字符串UPPER(aBc)ABCLOWER()返回把C转换成小写的字符串LOWER(aBc)abcOCCURS(,)C1在C2中出现的次数 OCCURS(c,abcabcd)2SQL练习:练习:查询姓名中含有查询姓名中含有“阳阳”的学生信息的学生信息第17页/共27页宏替换函数宏替换函数宏替换函数:&替换出字符型变量的内容,可以替换出字符串、数值或命令注意在后的变量必须是字符型变量31.在Visual FoxPro中,宏替换可以从变量中替换出_。A)字符串 B)数值 C
12、)命令 D)以上三种都可能32.设x=123,y=123,k=y,表达式x+&k的值是 。A)123123 B)246 C)123y D)数据类型不匹配第18页/共27页逻辑型(L)常量逻辑真:.T.t.Y.y.逻辑假:.F.f.N.n.逻辑型(L)变量X=.T.y=.F.逻辑型(L)运算notnot.T.=.F.notnot.F.=.T.优先级:not and or不能省略点.T.and.T.=.T.T.and.F.=.F.F.and.T.=.F.F.and.F.=.F.T.or.T.=.T.T.or.F.=.T.F.or.T.=.T.F.or.F.=.F.第19页/共27页关系运算关系运算
13、运算符运算符含义含义运算符运算符含义含义大于=等于=大于等于=字符串精确比较小于#!=不等于 521003 2008/12/7数值比较:日期比较:SQL练习练习:查询90后的学生信息第20页/共27页1.A=B 只有字符串A和B两边完全一致时,返回.T.例如:?abc=abc?abc=ac 2.A=B(1)默认或执行过set exact off 时当B是A的左子串时,返回.T.(注意where后,和字段比较时不分左右)(2)执行过set exact on 时当AB完全一致 或 末尾有若干空格而其他部分完全一致时,返回.T.例如:set exact off?abc=abc?abc=ab?abc=
14、ac set exact on?abc=abc?abc=ab?ab =ab3.A$B 当A是B的子串时,则返回.T.?abc$ab?a$abc?ab$a bc字符串的比较(是否相等,是否是左或右的子串)第21页/共27页函数名功能例子与结果VAL()CNval(23.7)val(23d5fe)23.7023.00STR(,)NCSTR(123.45,9,3)STR(123.45,9,1)STR(123.45,5,2)STR(123.45,3,2)STR(123.45,2,1)123.450 123.5123.5123*CTOD()CDCTOD(2002/10/12)2002/10/12DTOC
15、(D,1)DCDTOC(2002-11-27)DTOC(2002-11-27,1)11/27/0220021127类型转换函数N第22页/共27页类型测试函数VARTYPE(表达式)测试表达式类型(看括号内表达式类型)如:?Vartype(45)N?Vartype(沈阳)CTYPE(字符表达式)测试以字符表达式内容为名称的变量的类型(双引号内的类型)或 简单理解为双引号内的变量类型 x=6?Type(x)N第23页/共27页其它函数函数名功能例子与结果iif(表达式1,表达式2,表达式3)如果表达式1为真,则返回表达式2,否则返回表达式3iif(35,红,绿)绿Between(n1,n2,n3)测试是否满足n2=n1=n3?Between(3,6,8).F.Empty(表达式)如果表达式为空串则返回.T.,否则返回.F.X=abc?Empty(x)X=?Empty(x).F.T.isnull(表达式)如果表达式为空则返回.T.,否则返回.F.X=6?isnull(x)X=NULL?isnull(x).F.T.第24页/共27页第25页/共27页第26页/共27页感谢您的观看!第27页/共27页