《access的表达式语句及通配符实用教案》由会员分享,可在线阅读,更多相关《access的表达式语句及通配符实用教案(36页珍藏版)》请在金锄头文库上搜索。
1、Access系统支持三类常量:1、符号常量:用Const语句说明,可以在模块中引用。2、固有常量:是Access系统自动定义的作为操作参数和函数值的常量。3、系统定义常量:True、False和Null变量:是指命名的存储(cnch)空间,用于存储(cnch)在程序执行过程中可以改变的常量。变量名必须以字母开头,可以包含字母、数字和下划线,在同一范围内必须是唯一的(即不允许重名)。组成变量的字符个数不能超过255个字符,而且中间不能包含标点符号、空格和类型声明字符。第1页/共35页第一页,共36页。表达式算式(sunsh)表达式:、*、/、mod、+、-运算符功能数学表达式Access表达式一
2、个数的乘方X5X5*两个数相乘XYX*Y/两个数相除525/2 结果为2.5两个数整除(不四舍五入)52取整52 结果为2Mod两个数取余52取余5mod2结果为1+两个数相加X+YX+Y-两个数相减X-YX-Y第2页/共35页第二页,共36页。说明:一般(ybn)在查询中使用计算字段时,字段名应该用方括号括起来,如果没有括起来,系统会自动识别并且为字段名加上方括号。在窗体和报表中也可以使用计算字段,其中表达式的用法与查询中的用法相同。但在窗体和报表中使用计算字段时有两点要求:1、输入的算术表达式必须要用等号开头。2、字段名必须要用方括号括起来。关系表达式:用于比较两个表达式,结果为逻辑值。第
3、3页/共35页第三页,共36页。运算符功能举例例子含义小于100 小于100=小于等于大于#99-01-01#大于1999年1月1日=大于等于=“97105”大于等于“97105”=等于=“刘莉雅”等于“刘莉雅”不等于“男”不等于“男”Between and介于两值间Between 10 and 20在10到20之间In在一组值中IN(“China”,”Japan”,”France”)在三个国家中的一个Is Null字段为空Is Null字段无数据Is not Null字段非空Is Not Null字段中有数据Like匹配模式Like “Ma*”以“Ma”开头字符串第4页/共35页第四页,共3
4、6页。连接表达式:主要用于连接两个(lin)字符串。&和+&:用来强制两个(lin)表达式作字符串连接。例:“hello”&”world”,其结果为“helloworld”“check”&36&“check” ,其结果为“check36check”。运算符将数值36强制转换成字符串“36”,然后再连接。:连接两个(lin)字符串。要求运算符两端的类型必须一致。例:“hello”+”world”,其结果为“helloworld”“check”+36+“check”,系统会给出出错信息“类型不匹配”。即运算符+必须要求类型相同才能连接。第5页/共35页第五页,共36页。逻辑表达式:主要用于对表达式
5、进行( jnxng)真、假判断。其运算符有:NotAndOrEqv(逻辑相等)Imp(逻辑蕴含)Xor(逻辑异或)。运算符举例含义Not Not Like “Ma*” 不是以“a”开头的字符串And =10 And =20在10和20之间Or20小于10或者大于20第6页/共35页第六页,共36页。常用函数数值函数绝对值函数格式:ABS()功能:求“数值表达式”值的绝对值。说明:1、格式中尖括号内的内容是必选的,在具体使用时尖括号不能写上。在后面遇到同类(tngli)情况不再说明。2、如果“数值表达式”的值是Null值,则函数值是Null值。3、如果“数值表达式”是一个未初始化的量,则函数值为
6、0。第7页/共35页第七页,共36页。指数函数格式:EXP()功能(gngnng):计算指数函数ex的值,其中“数值表达式”即指数x。举例:EXP(2)即e2的值对数函数格式:LOG()功能(gngnng):计算“数值表达式”值的自然对数(以e为底的对数)。说明:1、“数值表达式”的值要求大于0。2、求任意底n的x的对数,则需要换算。第8页/共35页第八页,共36页。取整函数格式(gshi):INT()或FIX()功能:取“数值表达式”值的整数部分值。说明:1、当“数值表达式”是正数是,二者的功能相同,都返回“数值表达式”值的整数部分(不四舍五入)。2、当“数值表达式”的值是负数时,INT函数
7、返回小于或等于“数值表达式”值的第一个负整数;FIX函数返回的是大于或等于“数值表达式”值的第一个负整数。举例:INT(99.8)返回99;FIX(99.2)返回99;INT(-99.8)返回-100;FIX(-99.2)返回-99第9页/共35页第九页,共36页。求平方根函数格式(gshi):SQR()功能:计算“数值表达式”值的平方根值。说明:“数值表达式”的值要求大于0。举例:SQR(4)返回2第10页/共35页第十页,共36页。符号函数格式:SGN()功能:返回“数值表达式”值的符号值。说明:1、当“数值表达式”的值大于0,函数返回1。2、当“数值表达式”的值等于(dngy)0,函数返
8、回0。3、当“数值表达式”的值小于0,函数返回-1。举例:SGN(12)返回1SGN(-2.4)返回-1SGN(0)返回0第11页/共35页第十一页,共36页。字符函数空字符串函数格式:SPACE()功能:返回由“数值表达式”值确定的空格(kn)个数组成的字符串。举例:SPACE(5)返回一个由5个空格(kn)组成的字符串“”。重复字符串函数格式:STRING(,)功能:返回一个由“字符表达式”的第1个字符重复组成的指定长度为“数值表达式”值的字符串。说明:若数值、字符表达式中有一个Null,则函数值为Null。举例:STRING(5,“*”)返回“*”STRING(4,“ABC”)返回“AA
9、AA”。第12页/共35页第十二页,共36页。截取左子串函数格式:LEFT(,)功能:从“字符串表达式”左侧(zuc)第1个字符开始,截取“数值表达式”值个字符。说明:1、当“字符串表达式”是Null时,函数值是Null。2、当“数值表达式”值为0时,函数值是一个空串“”。3、当“数值表达式”值大于或等于“字符串表达式”字符数时,则返回“字符串表达式”。举例:LEFT(“Helloworld”,5)返回“Hello”LEFT(“Helloworld”,20)返回“Helloworld”。第13页/共35页第十三页,共36页。截取右子串函数格式:RIGHT(,)功能(gngnng):从“字符串表
10、达式”右侧第1个字符开始,截取“数值表达式”值个字符。说明:1、当“字符串表达式”是Null时,函数值是Null。2、当“数值表达式”值为0时,函数值是一个空串“”。3、当“数值表达式”值大于或等于“字符串表达式”字符数时,则返回“字符串表达式”。举例:RIGHT(“Helloworld”,5)返回“world”RIGHT(“Helloworld”,20)返回“Helloworld”。第14页/共35页第十四页,共36页。测试字符(zf)串长度函数格式:LEN()功能:返回“字符(zf)串表达式”字符(zf)个数。说明:当是Null时,则返回Null值。举例:LEN(“Helloworld”)
11、返回11删除前导、尾随空格函数格式:LTRIM()RTRIM()TRIM()功能:LTRIM函数可去掉前导空格;RTRIM函数可去掉尾随空格;TRIM函数可同时去掉前导和尾随穿空格。第15页/共35页第十五页,共36页。举例:mystr=“Iamastudent.”LTRIM(mystr)返回(fnhu)字符串“Iamastudent.”。RTRIM(mystr)返回(fnhu)字符串“Iamastudent.”。TRIM(mystr)返回(fnhu)字符串=“Iamastudent.”。截取子串函数格式:MID(,)功能:从“字符串表达式”的左端第“n1”个字符开始,截取“n2”个字符,作为
12、返回(fnhu)的子字符串。第16页/共35页第十六页,共36页。说明:1、n1、n2都是数值(shz)表达式。2、方括号的内容是可选的,在后面的格式中如遇到同类情况时不再说明。3、当n2缺省时,返回从“字符串表达式”的左端第n1个字符开始直到“字符串表达式”的最右端的一个字符。举例:mystr=“midFunctionDemo”MID(mystr,5)返回“FunctionDemo”MID(mystr,14,4)返回“Demo”MID(mystr,1,3)返回“mid”第17页/共35页第十七页,共36页。日期时间(shjin)函数系统日期函数格式:DATE()功能:返回当前系统日期。举例:
13、在窗体或报表的文本框控件的来源属性中输入:=DATE()则在控件文本框内会显示当前机器系统的日期。系统时间(shjin)函数格式:TIME()功能:返回当前系统时间(shjin)。举例:在窗体或报表文本框控件的来源属性中输入:=DATE()则在控件文本框内会显示当前机器系统的时间(shjin)。第18页/共35页第十八页,共36页。年函数格式:YEAR()功能(gngnng):返回年的四位整数。举例:myd=#Apri20,1963#YEAR(myd)返回值1963。月函数格式:MONTH()功能(gngnng):返回值为1-12之间的整数,表示一年的某月。举例:myd=#Apri20,196
14、3#MONTH(myd)返回值4。第19页/共35页第十九页,共36页。日函数格式:DAY()功能:返回值为1-31之间的整数,表示日期(rq)中的某一天。举例:myd=#Apri20,1963#DAY(myd)返回值20。小时函数格式:HOUR()功能:返回值为0-23之间的整数,表示一天中的某一钟点。举例:myd=#4:35:17PM#HOUR(myd)返回值16。第20页/共35页第二十页,共36页。分钟函数格式:MINUTE()功能:返回值为0-59之间的整数,表示一个小时中的某分钟。举例( jl):myd=#4:35:17PM#MINUTE(myd)返回值35。秒函数格式:SECON
15、D()功能:返回值为0-59之间的整数,表示一分钟之中的某某钟。举例( jl):myd=#4:35:17PM#SECOND(myd)返回值17。第21页/共35页第二十一页,共36页。系统日期和时间函数格式:Now()功能:返回当前机器系统的日期和时间。举例:在窗体或报表中的一个控件,其来源中输入:=Now()则在控件中显示(xinsh)出当前机器系统的日期和时间。例如:99-06-0618:08:10第22页/共35页第二十二页,共36页。统计函数(hnsh)求和函数(hnsh)格式:sum()功能:返回字段中值的总和说明:“字符串表达式”可以是一个字段名(数值类型),或者是含有数值类型字段
16、的表达式。举例:有一个“单价”和“数量”字段,求总价。可以用求和函数(hnsh)计算其总价:sum(单价*数量)第23页/共35页第二十三页,共36页。求平均函数格式:AVG()功能:返回字段中值的平均值。说明:1、“字符串表达式”可以是一个字段名(数值类型),或者是含有数值类型字段的表达式。2、AVG不计算( jsun)任何Null值字段。举例:有一个“成绩”字段,可以用求平均函数计算( jsun)其平均分:AVG(成绩)第24页/共35页第二十四页,共36页。统计记录个数函数格式(gshi):COUNT()功能:统计记录个数。说明:1、“字符串表达式”可以是一个字段名(数值类型),或者是含
17、有数值类型字段的表达式。2、当用格式(gshi)COUNT(*)时,将统计所有记录的个数,包括有Null值字段的记录。举例:COUNT(学号)(其中“学号”为字段名),是统计学号字段不是Null值的所有记录数。第25页/共35页第二十五页,共36页。最大、最小值函数格式:MAX()MIN()功能:返回一组指定(zhdng)字段中的最大、最小值。说明:“字符串表达式”可以是一个字段名(数值类型),或者是含有数值类型字段的表达式。举例:有一个“成绩”字段,可以用MAX(成绩)求该字段中的最大值,用MIN(成绩)求该字段中的最小值。第26页/共35页第二十六页,共36页。其他函数数值(shz)转换为
18、字符函数格式:STR()功能:将“数值(shz)表达式”转换成字符串。说明:若“数值(shz)表达式”是一个正数,则转换后的字符串有一个前导空格,暗示有一个正号。举例:STR(459.65)返回值为字符串“459.65”。STR(-459)返回值为字符串“459”。STR(234)返回值为字符串“234”。第27页/共35页第二十七页,共36页。字符转数值函数格式:VAL()功能:返回包含在字符串中的数字。说明:1、当遇到第1个不能识别为数字的字符时,结晶束转换(zhunhun)。2、函数不能识别美元符号和逗号。3、空格字符将被忽略。举例:VAL(“1615198khstreetN.E.” )
19、返回值1615198VAL(“2456”)返回值2456VAL(“24and56”)返回值24第28页/共35页第二十八页,共36页。ASCII值转换为字符函数格式:CHR()功能(gngnng):将“数值表达式”转换成对应的ASCII码字符。说明:“数值表达式”的值在0-255之间。举例:CHR(65)返回值为字符“A”。CHR(97)返回值为字符“a”。CHR(62)返回值为字符“”。第29页/共35页第二十九页,共36页。条件函数格式:IIF(,)功能:根据“条件表达式”的值决定返回“表达式1”的值还是返回“表达式2”的值。说明:当“条件表达式”为真时,返回“表达式1”的值,否则,返回“
20、表达式2”的值。举例( jl):IIF(X100,“Large”,“Small”)表示当X100为真时,函数返回值为“Large”,否则返回“Small”。第30页/共35页第三十页,共36页。大写字母变为小写字母函数格式:LCASE()功能(gngnng):将“字符串表达式”中所有大写字母变为小写字母,其余字符不变。举例:upst=“HelloWorld1234”LCASE(upst)返回“helloworld1234”小写字母变为大写字母函数格式:UCASE()功能(gngnng):将“字符串表达式”中所有大写字母变为小写字母,其余字符不变。举例:UCASE(upst)返回“HELLOWO
21、RLD1234”第31页/共35页第三十一页,共36页。通配符Access系统提供了6个通配符:星号*,问号(wnho)?,数字符号#,惊叹号!,连字号-和方括号。可以在查询或表达式中使用这些字符,用来匹配以指定字符开头或某一模式的记录、文件名或其他项目。说明:1、通配符专门在文本数据类型中,虽然有时候也可以成功的使用在其他数据类型中,例如日期,但没有更改这些数据类型的“区域设置”属性。2、在搜索星号*、问号(wnho)?、井号#和左括号本身时,必须将它们放在方括号内才能与自己匹配。在MicrosoftSQLServer中,用单引号括起来的条件会被解释为文字值,而用双引号括起来的条件将被解释为
22、数据库对象(如列或表引用)。如果在“网格”窗格中输入搜索条件,只需简单地键入文本值,“查询设计器”将自动将其用单引号括起来。第32页/共35页第三十二页,共36页。通配符功能举例*表示任何数目的字符,可以用在字符串的任何地方Wh*,可以通配What,When,While等*at可以通配cat,bat,what等?表示任何单个字符或单个汉字B?ll可以通配Ball,Bell,Bill等#表示任何一位数字1#3可以通配103,113,123等 表示括号内的任何单一字符Baell可以通配Ball,Bell,但不包括Bill!表示任何不在这个列表内的单一字符B! aell可以通配Bill,Bull等,
23、但不包括Ball,Bell-表示在一个以递增顺序范围内的任何一个字符Ba-ed可以通配Bad,Bbd,Bcd,Bed第33页/共35页第三十三页,共36页。练习题什么是字面值(minzh)、常量和变量?什么是表达式?Access系统提供了哪几种表达式?请写出Access的表达式:1、在1-100之间的所有自然数(含1和100)。2、80年代。3、性别是“女”的。4、在“sun”,”mon”,”tue”,“wed”,”thu”,”fri”,”sat”中的一个。5、以A开头而且第三个字母是C的所有字符串。6、不包括以A开头而且第三个字母是C的所有字符串。7、第一个字母是b,第二个字母是o,第三个字
24、母是xyz中的任意一个。8、百位上是8,个位上是5的所有数。第34页/共35页第三十四页,共36页。感谢您的观看(gunkn)!第35页/共35页第三十五页,共36页。内容(nirng)总结Access系统支持三类(sn li)常量:。组成变量的字符个数不能超过255个字符,而且中间不能包含标点符号、空格和类型声明字符。连接表达式:主要用于连接两个字符串。运算符将数值36强制转换成字符串“36”,然后再连接。功能: 取“数值表达式”值的整数部分值。2、当 “数值表达式”的值等于0,函数返回0。说明:若数值、字符表达式中有一个Null,则函数值为Null。说明:当 是Null时,则返回Null值第三十六页,共36页。