数据与数据运算解读.docx
- 文档编号:9206935
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:11
- 大小:55.64KB
数据与数据运算解读.docx
《数据与数据运算解读.docx》由会员分享,可在线阅读,更多相关《数据与数据运算解读.docx(11页珍藏版)》请在冰豆网上搜索。
数据与数据运算解读
.1 常量与变量
考点1 常量
常量用以表示一个具体的、不变的值。
不同类型常量的书写格式不同。
在VisualFoxPro中,常量主要包括以下几种类型。
1数值型常量
数值型常量即常数,用来表示一个数量的大小,由数字0~9小数点和正负号组成。
2货币型常量
货币型常量用来表示货币值,其书写格式与数值型常量类似,但要加上一个前置的符号($)。
3字符型常量
字符型常量也称为字符串,其表示方法是用半角单引号、双引号或方括号把字符串括起来。
这里的单引号、双引号或方括号称为定界符许多常量都有定界符。
定界符虽然不作为常量本身的内容,但它规定了常量的类型及常量的起始和终止界限。
4日期型常量
日期型常量的定界符是一对花括号。
花括号内包括年、月、日3部分内容,各部分内容之间用分隔符分隔。
5日期时间型常量
日期时间型常量包括日期和时间两部分内容:
{<日期>,<时间>}。
<日期>部分与日期型常量相似,也有传统的和严格的两种格式。
6逻辑型常量
逻辑型数据只有逻辑真和逻辑假两个值。
前后两个句点作为逻辑型常量的定界符是必不可少的,否则会被误认为变量名。
逻辑型数据只占用1字节。
考点2 变量
VisualFoxPro中变量分为字段变量和内存变量二其中字段变量就是表中的字段。
内存变量是内存中的一块存储区域,变量值就是存放在这个存储区域里的数据,变量的类型取决于变量值的类型。
内存变量的数据类型包括:
字符型(C)、数值型(N)、货币型(Y)、日期型(D)、日期时间型(T)和逻辑型(L)。
1简单的内存变量
每一个变量都有一个名字,可以通过变量名访问变量。
如果当前表中存在一个同名的字段变量,则在访问内存变量时,必须在变量名前加上前缀M.(或M->),否则系统将访问同名的字段变量。
2数组
与简单内存变量不同,数组在使用之前一般要用DIMENSION或DECLARE命令显示创建,规定数组是一维数组还是二维数组,数组名和数组大小。
数组大小由下标值的上、下限决定,下限规定为1。
在使用数组和数组元素时,应注意如下问题。
(1)在一切使用简单内存变量的地方,均可以使用数组元素。
(2)在赋值和输入语句中使用数组名时,表示将同一个值同时赋给该数组的全部数组元素。
(3)在同一个运行环境下,数组名不能与简单变量名重复。
(4)在赋值语句中的表达式位置不能出现数组名。
(5)可以用一维数组的形式访问二维数组。
考点3 内存变量常用命令
1内存变量的赋值
格式1:
<内存变量名>=<表达式>
格式2:
STORE<表达式>TO<内存变量名表>
2表达式值的显示
格式1:
?
<表达式表>
格式2:
?
?
<表达式表>
3内存变量的显示
格式1:
LISTMEMORY[LIKE<通配符>][TOPRINTER!
TOFILE<文件名>]
格式2:
DISPLAYMEMORY[LIKE<通配符>][TOPRINTER|TOFILE<文件名>]
4内存变量的清除
格式1:
CLEARMEMORY
格式2:
RELEASE<内存变量名表>
格式3:
RELEASEALL[EXTENDED]
格式4:
RELEASEALL[LIKE<通配符>|EXCEPT<通配符>]
5表中数据与数组数据之间的交换
将表的当前记录复制到数组。
格式1:
SCATTER[FIELDS<字段名表>][MEMO]TO<数组名>[BLANK]
格式2:
SCATTER[FIELDSLIKE<通配符>|FIELDSEXCEPT<通配符>][MEMO]TO<数组名>[BLANK]
将数组数据复制到表的当前记录。
格式1:
GATHERFROM<数组名>[FIELDS<字段名表>][MEMO]
格式2:
GATHERFROM<数组名>[FIELDSLIKE<通配符>|FIELDSEXCE<通配符>][MEMO]
小提示:
如果当前表中存在一个同名的字段变量,则在访问内存变量时,必须在内存变量名前加上前缀M.(或M->),否则系统访问的将是同名的字段变量。
3.2 表达式
考点4 数值、字符与日期时间表达式
1数值表达式
(1)算术运算优先级。
数值表达式中的算术运算符有些与日常使用的运算符稍有Lx=别,算术运算符及其含义和优先级如表3-1所示。
表3-1 算术运算符及其优先级
(2)求余运算。
求余运算%和取余函数MOD()的作用相同。
余数的正负号与除数一致当表达式中出现*、/和%运算时,它们具有相同的优先级。
2字符表达式
由字符串运算符将字符型数据连接起来形成,其结果仍是字符型数据字符型数据只能进行两种运算(+、-),它们的优先级相同。
“+”首尾连接前后两个字符串形成一个新的字符串;“-”连接前后两个字符串,并将前字符串的尾部空格移到合并后的新字符串尾部
3日期时间表达式
日期时间表达式中可以使用的运算符也有“+”和“-”两个,其格式也有一定的限制,不能任意组合,如不能用运算符“+”将两个<日期>连接起来。
考点5 关系表达式
1关系表达式
关系表达式通常也称为简单逻辑表达式,它是由关系运算符将两个运算对象连接起来而形成的,即:
<表达式><关系运算符><表达式>。
关系运算符及其含义如表3-2所示,它们的优先级相同。
表3-2 关系运算符
2设置字符的排序次序
当比较两个字符串时,系统对两个字符串的字符自左向右逐个进行比较;一旦发现两个对应字符不同,就根据这两个字符的排序序列决定两个字符串的大小
3字符串精确比较与EXACT设置
在用双等号运算符==比较两个字符串时,只有当两个字符串完全相同(包括空格及各字符的位置)时,运算结果才会是逻辑真.T.,否则为逻辑假.F.。
考点6 逻辑表达式
1逻辑表达式
逻辑运算符的运算规则如表3-3所示,其中
表3-3 逻辑运算规则
2运算符优先级
.NOT.或!
(逻辑非)、.AND.(逻辑与)、.OR.(逻辑或)依次降低。
小提示:
表达式是指常量、变量、函数或由它们通过特定的运算符连接起来的式子。
3.3 常用函数
考点7 数值函数
数值函数是指函数值为数值的一类函数,它们的自变量和返回值往往都是数值型数据。
1绝对值和符号函数
格式:
ABS<数值表达式>)
SIGN(<数值表达式>)
功能:
ABS()返回指定的数值表达式的绝对值。
SIGN()返回指定数值表达式的符号。
2求平方根函数
格式:
SQRT(<数值表达式>)
功能:
返回指定表达式的平方根,表达式的值不能为负。
3圆周率函数
格式:
PI()
功能:
返回圆周率二,该函数没有自变量。
4求整数函数
格式:
INT(<数值表达式>)
CEILING(<数值表达式>)
FLOOR(<数值表达式>)
功能:
INT()返回指定数值表达式的整数部分。
CEILING()返回大于或等于指定数值表达式的最小整数。
FLOOR()返回小于或等于指定数值表达式的最大整数。
5四舍五入函数
格式:
ROUND(<数值表达式I>,<数值表达式2>)
功能:
返回<数值表达式I>在指定位置四舍五入后的结果,<数值表达式2>指明四舍五入的位置。
若<数值表达式2>大于等于0,表示的是要保留的小数位,若小于。
,则表示整数部分的舍入位数。
6求余数函数
格式:
MOD(<数值表达式1>,<数值表达式2>)
功能:
返回两个数相除后的余数。
余数的正、负号与除数相同。
如果被除数与除数同号,则函数值为两数相除的余数;如果异号,则函数值为两数相除的余数再加上除数的值。
7求最大值和最小值函数
格式:
MAX(<数值表达式1>,<数值表达式2>[,<数值表达式3>…])
MIN(<数值表达式1>,<数值表达式2>[,<数值表达式3>…])
功能MAX()返回自变量中的最大值。
MIN()返回自变量中的最小值。
考点8 字符函数
1求字符串长度函数
格式:
LEN(<字符表达式>)
功能:
返回指定字符表达式值的长度,即字符个数。
2大小写转换函数
格式:
LOWER(<字符表达式>)
UPPER(<字符表达式>)
功能:
LOWER()将指定表达式中的大写字母转换成小写字母,其他字符保持不变;UPPER()将指定表达式中的小写字母转换成大写字母,其他字符保持不变。
3空格字符串生成函数
格式:
SAPCE(<数值表达式>)
功能:
返回由指定数目的空格组成的字符串。
4侧除前后空格函数
格式:
TRIM(<字符表达式>)
LTRIM(<字符表达式>)
ALLTRIM(<字符表达式>)
功能:
TRIM()删除指定表达式尾部的空格。
LTRIM()删除指定表达式前端的空格。
ALLTRIM()删除指定字符串前端和尾部的空格。
5取子串函数
格式:
LEFT(<字符表达式>,<长度>)
RIGHT(<字符表达式>,<长度>)
SUBSTR(<字符表达式>,<起始位置>[,<长度>])
功能:
LEFT()从指定表达式左端截取一个指定长度的子串作为函数值。
RIGHT()从指定表达式右端载取一个指定长度的子串作为函数值。
SUBSTR()从指定表达式指定位置截取一个指定长度的子串作为函数值,若默认<长度>,则截取的子串表示从指定位置开始一直到字符串尾部。
6计算子串出现次数函数
格式:
OCCURS(<字符表达式1>,<字符表达式2>)
功能:
返回第一个字符串在第二个字符串中出现的次数。
7求子串位置函数
格式:
AT(<字符表达式1>,<字符表达式2>[,<数值表达式>])
ATC(<字符表达式1>,<字符表达式2>[,<数值表达式>])
功能:
AT()返回第一个字符串的首字符在第_二个字符串中出现的位置。
前提条件是第一个字符串必须是第二个字符串的子串,否则函数返回值为0。
ATC()功能与AT()类似,但不区分字符串中字符的大小写。
8子串替换函数
格式:
STUFF<字符表达式1>,<起始位置>,<长度>,<字符表达式2>)
功能:
用<字符表达式2>的值替换<字符表达式I>中由<起始位置>和<长度>指定的一个子串。
9字符替换函数
格式CHRTRAN(<字符表达式1>,<字符表达式2>,<字符表达式3>)
功能:
该函数的自变量是三个字符表达式。
当第一个字符串中的一个或多个字符与第二个字符串中的某个字符相匹配时,应用第三个字符串中的对应字符(相同位置)替换这些字符如果第三个字符串包含的字符个数少于第二个字符串包含的字符个数,因为没有对应字符,那么第一个字符串中相匹配的各字符将被删除。
如果第三个字符串包含的字符个数多于第二个字符串包含的字符个数,多余字符将被忽略。
10字符串匹配函数
格式:
LIKE(<字符表达式I>,<字符表达式2>)
功能:
比较两个字符串对应位置_L的字符。
其中<字符表达式1>中可包含通配符*和?
。
*表示若干个任意字符,?
表示任意一个字符。
考点9 日期和时间函数
1系统日期和时间函数
格式:
DATE()
TIME()
DATETIME()
功能:
DATE()返回当前系统日期,函数值为日期TIME()以24小时制返回当前系统时间,函数值为字符型;DATETIME()返回肖前系统日期时间,函数值为日期时间型。
2求年份、月份和天数的函数
格式:
YEAR(<日期表达式>|<日期时间表达式>)
MONTH(<日期表达式>|<日期时间表达式>)
DAY(<日期表达式>|<日期时间表达式>)
功能:
YEAR()从指定的日期表达式或日期时间表达式中返回年份。
MONTH()从指定的日期表达式或日期时间表达式中返回月份DAY()从指定的日期表达式或日期时间表达式中返回月份的天数。
这3个函数的返回值均为数值型数据
3求时、分和秒的函数
格式:
HOUR(<日期时间表达式>)
MINUTE(<日期时间表达式>)
SEC(<日期时间表达式>)
功能:
HOUR()从指定的日期时间表达式中返回小时部分(24小时制)。
MINUTE()从指定的日期时间表达式中返回分钟部分。
SEC()从指定的日期时间表达式中返回秒钟部分。
考点10 数据类型转换函数
数据类型转换函数的功能是将某一种类型的数据转换成另一种类型的数据。
1数值转换成字符串函数
格式:
STR(<数值表达式>[,<长度>[,<小数位数>]])
功能:
将<数值表达式>的值转换成字符串,转换时根据需要自动四舍五入。
2字符串转换成数值函数
格式:
VAL(<字符表达式>)
功能:
将由数字符号(包括符号、小数点)组成的字符型数据转换成相应的数值型数据。
3字替串转换成日期或日期时间函数
格式:
CTOD(<字符表达式>)
CTOT<字符表达式>)
功能:
CTOD()将<字符表达式>转换成日期型数据CTOT()将<字符表达式>转换成日期时间型数据。
4日期或日期时间转换成字符串函数
格式:
DTOC(<日期表达式>|<日期时间表达式>[,1])
TTOC(<日期时间表达式>[,1])
功能:
DTOC()将日期型数据或日期时间型数据的日期部分转换成字符串。
TTOC()将日期时间型数据转换成字符串。
5宏替换函数
格式:
&<字符型变量>[.]
功能:
替换出字符型变量的内容,即&的值是变量中的字符串。
如果该函数与其后面的字符无明显分界,则要用“.”作为函数结束标识宏替换可以嵌套使用。
考点11 测试函数
1值域测试函数
格式:
BETWEEN(<表达式1>,<表达式2>,<表达式3>)
功能:
判断一个表达式的值是否介于其他两个表达式的值之间。
2空值(NULL)测试函数
格式:
ISNULL(<表达式>)
功能:
判断一个表达式的运算结果是否为NULL值。
3“空”值测试函数
格式:
EMPTY(<表达式>)
功能:
略。
4数据类型测试函数
格式:
VARTYPE(<表达式>[,<逻辑表达式>])
功能:
测试表达式的类型,返回一个大写字母,函数值为字符型。
字母含义如表3-4所示。
表3-4 VARTYPE()测得的数据类型
5表文件尾测试函数
格式:
EOF([<工作区号>|<表别名>])
功能:
测试当前表文件(若默认自变量)或指定表文件中的记录指针是否指向文件尾,若是,则返回逻辑真(.T.),否则为逻辑假(.F.)。
若在指定工作区上没有打开表文件,则函数返回逻辑假(.F.),若表文件中不包含任何记录,则函数返回逻辑真(.T.)。
6表文件首测试函数
格式:
BOF([<工作区号>|<表别名>])
功能:
测试当前表义件(若默认自变量)或指定表文件中的记录指针是否指向文件首,若是,则返回逻辑真(.T.),否则为逻辑假(.F.)(若在指定工作区上没有打开表文件,则函数返回逻辑假(.F.),若表文件中不包含任何记录,则函数返回逻辑真(.T.)。
7记录号测试函数
格式:
RECNO([<工作区号>|<表别名>])
功能:
返回当前表文件(若默认自变量)或指定表文件中当前记录的记录号。
如果指定工作区上没有打开表文件,则函数值为0;如果记录指针指向文件尾,则函数值为表文件中的记录数加1;如果记录指针指向文件首,则函数值为表文件中第一条记录的记录号。
8记录个数测试函数
格式:
RECCOUNT([<工作区号>|<表别名>])
功能:
返回当前表文件(若默认自变量)或指定表文件中的记录个数。
如果指定工作区上没有打开表文件,则函数值为0,RECCOUNT)函数不受删除标记及SETDELETED设置的影响,同样测试表中所有的记录个数。
9条件测试函数
格式:
IIF(<逻辑表达式>,<表达式1>,<表达式2>)
功能:
测试<逻辑表达式>的值,若为逻辑真(.T.),则函数返回<表达式1>的值,否则返回<表达式2>的值<表达式1>和<表达式2>的类型可以不相同。
10记录删除测试函数
格式:
DELETED([<工作区号>|<表别名>])
功能:
测试当前表文件(若默认自变量)或指定表文件中,记录指针所指的当前记录是否有删除标记“*”。
若有,则为真,否则为假。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 运算 解读