第2章:VFP语言基础 数据类型 运算符和表达式 斗叶卧 数据存储 函数 命令 制作人:程艾芝 车角学
第2章:VFP语言基础 1 数据类型 2 3 4 5 运算符和表达式 数据存储 函数 命令
关系表达式 运算符和表达式 掌握 制作人:程艾芝 车角学
关系表达式 2 运算符和表达式 掌握
关系表达式 6abc ad 4127 53 200601/01}2^2007/01/01} 你知道它们之间有什么关系吗? 制作人:程艾芝 车角学
关系表达式 ‘abc’ ‘53’ ? ‘127’ ? {^2006/01/01} ? {^2007/01/01} ‘ad’ 你知道它们之间有什么关系吗?
关系表达式 关系运算符 )、$ 关系表达式:由关系运算符组成的表达式 用来比较两个数据或表达式之间的关系。 对于不同的数据类型,比较的意义不同 制作人:程艾芝 车角学
关系表达式 • 关系运算符:>、= 、 = 、 == 、!=(#,<>) 、 $ • 关系表达式:由关系运算符组成的表达式, 用来比较两个数据或表达式之间的关系。 • 对于不同的数据类型,比较的意义不同
例如: 两个数值比较:比较大小 两个日期比较:比较年月日 字符串比较:比较顺序或是否存在包含 关系 制作人:程艾芝 车角学
例如: • 两个数值比较:比较大小 • 两个日期比较:比较年月日 • 字符串比较:比较顺序或是否存在包含 关系……
关系运算符: 在非精确匹配模式( set exact of,默认)下,只要等于号(=) 右边字符串是左边字符串的前缀,则结果为T; 在精确匹配模式( set exact on)下,要对应字符完全相等 结果才为T,此时等于号(=)相当于。精确比较运算符 的比较结果与设置无关,需要字符串完全相等。 foxpro=fox, foxpro==,, foxpro'=Fox set exact on foxpro=fox, foxpro==fox 显示结果是: FF 制作人:程艾芝 ②东商枕
关系运算符:=,== • 在非精确匹配模式(set exact off,默认)下,只要等于号(=) 右边字符串是左边字符串的前缀,则结果为.T.; • 在精确匹配模式(set exact on)下,要对应字符完全相等, 结果才为.T.,此时等于号(=)相当于== 。精确比较运算符 ==的比较结果与设置无关,需要字符串完全相等。 • ? ‘foxpro’=’fox’, ’foxpro’== ’fox’, ’foxpro’ =’Fox’ • set exact on • ? ‘foxpro’=’fox’, ’foxpro’== ’fox’ 显示结果是: .T. .F. .F. .F. .F
关系运算符:S(包含) 字符串包含运算符s:左边的字符串是否 包含在右边的字符串当中。如果是,结 果为真;否则为假F.。 foxpro$fox,, fox$foxpro ??Fox'$foxpro? 输出:.F..T..F 制作人:程艾芝 车角学
关系运算符:$(包含) • 字符串包含运算符$:左边的字符串是否 包含在右边的字符串当中。如果是,结 果为真.T.;否则为假.F.。 • ? ‘foxpro’$’fox’ , ’fox’$’foxpro’ • ?? ’Fox’$’foxpro’ • 输出:.F. .T. .F
要点:类型二致 关系运算符左右两边的数据类型必须保 持一致。不同类型的数据之间不能进行 比较。 今天天气 12&&表达式错误,因为类型不匹配 制作人:程艾芝
要点:类型一致 • 关系运算符左右两边的数据类型必须保 持一致。不同类型的数据之间不能进行 比较。 今天天气 鸡蛋 > 12 &&表达式错误,因为类型不匹配
据类型确定意义 (1)数值型数据→比较大小关系 如:5+4>67!=3 (2)日期型数据→依次比较年月日,按照数值大小比较 如:date(O){200601/01} 由于日期比较的特殊性,出生日期越小,年龄越大 (3)字符型数据→比较字符在计算机内的排列顺序。 级汉字按拼音顺序,字母、数字按aScI码顺序排列 如:中国’>?日本 a 制作人:程艾芝
根据类型确定意义 (1)数值型数据→比较大小关系 如:5+4>6 7!=3…… (2)日期型数据→依次比较年月日,按照数值大小比较 如:date(){^2006/01/01} 由于日期比较的特殊性,出生日期越小,年龄越大 (3)字符型数据→比较字符在计算机内的排列顺序。 一级汉字按拼音顺序,字母、数字按ascII码顺序排列。 如:’中国’>’日本’ ’a’’1’……
设置不同的区别 大小写字母比较要注意:在VFP中,存在一种 设置,设置不同,大小写字母的排列顺序不同 (1)拼音( PINYIN) →A>°a (2)机内码( MACHINE)→a>A (?Asc(a)→97 ?asc(A)+65) Set collate to machine pinyin 菜单方式:工具→选项→数据→排序序列 制作人:程艾芝 车角学
设置不同的区别 • 大小写字母比较要注意:在VFP中,存在一种 设置,设置不同,大小写字母的排列顺序不同。 • (1)拼音(PINYIN) →’A’>’a’ • (2)机内码(MACHINE) →‘a’>’A’ • (? Asc(‘a’)→97 ?asc(‘A’)→65) • Set collate to ‘machine’|’pinyin’ • 菜单方式:工具→选项→数据→排序序列