(3).日期时间函数(p73)
日期时间函数是处理日期型或日期时间型数据的函数。其自变量为日期型表达式dExp或日期时间型表达式tExp。
1).系统日期函数DATE( )
【格式】DATE()
【功能】返回当前系统日期,此日期由系统设置。函数值为D型。
2).系统时间函数TIME( )
【格式】TIME([])
【功能】返回当前系统时间,时间显示格式为hh:mm:ss。是以24小时指制表示的。函数值为C型。
3).日期函数DAY( )
【格式】DAY()
【功能】返回指定的dExp式中的天数。函数值为N型
4).星期函数DOW( )、CDOW( )
【格式】DOW()
CDOW()
【功能】DOW( )函数返回dExp式中星期的数值,用1~7表示星期日~星期六。函数值为N型。CDOW( ) 函数返回dExp式中星期的英文名称。函数值为C型。
5).月份函数MONTH( )、CMONTH( )
【格式】MONTH()
CMONTH()
【功能】MONTH( )函数返回dExp 式中月份数。函数值为N 型。CMONTH( )函数则返回月份的英文名。函数值为C 型。
6).年份函数YEAR( )
【格式】YEAR()
【功能】函数返回dExp 式中年份值。函数值为N 型。
(4). 转换函数
在数据库应用的过程中,经常要将不同数据类型的数据进行相应转换,满足实际应用的需要。Visual FoxPro系统提供了若干个转换函数,较好地解决了数据类型转换的问题。
1).ASCII码函数ASC( )
【格式】ASC ()
【功能】返回cExp串首字符的ASCII码值。函数值为N型。
【例】 ? ASC(“abc”) && 结果为:97
2).ASCII 字符函数CHR( )
【格式】CHR()
【功能】返回以nExp 值为ASCII 码的ASCII 字符。函数值为C 型。
【例】 ? CHR(99) && 结果为:c
3).字符日期型转换函数CTOD( )
【格式】CTOD()
【功能】把“××/××/××”格式的cExp串转换成对应日期值。函数值为D型。
【ày】 DA=”12/12/99”
? CTOD(DA)
12/12/99
4).日期字符型转换函数DTOC( )
【格式】DTOC([, 1])
【功能】把日期dExp转换成相应的字符串。函数值为C型。
【ày】 D={^2004/11/24}
DT=DTOC(D)
? DT
?? LEN(DT)
11/24/04 8
5).数值转换成字符串函数STR( )
【格式】STR([,< nExp2>][,< nExp3>])
【功能】将nExp1 的数值转换成字符串形式。函数值为C 型。
【例】 ?
STR(1324.46,6,1) 1324.5 ?
STR(1324.46,8,3) , STR(1324.46,3,1) 1324.460 ***
注:如果长度小于的位数则返回一串*号。
6).字符串转换成数值函数VAL( )
【格式】VAL ()
【功能】将cExp 串中数字转换成对应数值,转换结果取两位小数。函数值为N 型。【例】 ? VAL(”32”+”18”) 3218.00 ?VAL(”112GH”),VAL(”AB204”),VAL(”ASD”) 112.00
0.00 0.00
7).宏代换函数 &
[格式]:&<字符型内存变量>
[功能]:取“字符型内存变量”的值。
[说明]:
(1)宏代换是一种间接取值的操作,在&符号后面必须紧跟(无空格)一个己被赋过值的字符型内存变量的名字。
(2)若&<字符型内存变量>与后面的字符之间无空格分界时,应加上“.”符号作为分界符。
(3)宏代换的使用可以嵌套另一个宏代换,但不能嵌套自己。例如,X=“&X”的写法是错误的。
(4)对于数字字符串,可以通过&函数使其与其他数字进行计算。
[例]:求宏代换。
<1>. CH=”X”
X=9
? &CH &&结果为:9
<2> TT=”学生”
USE &TT &&结果为:打开了“学生.dbf”表文件。
<3> X=”2004”
M=”+”
Y=”&X.&M.1”
? Y &&结果为:2004+1
? &Y &&结果为:2005
(5).测试函数
在数据库应用的操作过程中,用户需要了解数据对象的类型、状态等属性,Visual FoxPro提供了相关的测试函数,使用户能够准确地获取操作对象的相关属性。
1).数据类型函数VARTYPE( )
【格式】VARTYPE(<表达式>)
【功能】返回<表达式>表示的数据对象的数据类型,返回值是一个表示数据类型的大写字母。C:字符型,D:日期型,N:数值型,L:逻辑型,M:备注型,G:通用型,U:未定义。
2).值域测试函数BETWEEN()
【格式】BETWEEN(,,)
【功能】判断当表达式的值大于等于的值且小于等于的值时,函数值为真(.T.),否则函数值为假(.F.)。如果或有一个是NULL 值,那么函数值也是NULL 值。
【例】? BETWEEN(3*5,10,50),BETWEEN(80,.null.,100).T. .NULL.
3).条件测试函数IIF( )
【格式】IIF(,,)
【功能】逻辑表达式lExp 值为真(.T.),返回表达式eExp1 的值,否则返回表达式eExp2 的值。eExp1 和eExp2 可以是任意数据类型的表达式。
【例】成绩=78
?IIF(成绩<60,“不及格”,“及格”)及格
4).当前记录号函数RECNO()
【格式】RECNO([<工作区号> | <别名>])
【功能】返回指定工作区中表的当前记录的记录号。对于空表返回值为1。
【例】 测试记录指针的当前位置。 USE 学生档案.dbf GOTO
BOTTOM ? RECNO() && 显示结果为:10
SKIP ? RECNO() && 显示结果为:11 GO
TOP ? RECNO() && 显示结果为: 1
SKIP -1 ? RECNO() && 显示结果为: 15).表结束标志测试函数EOF( )
【格式】EOF([<工作区号> | <别名>])
【功能】测试记录指针是否移到表结束处。如果记录指针指向表中尾记录之后,函数返回真(.T.),否则为假(.F.)。
【例】测试文件记录是否指向文件尾。USE 学生档案.dbf
GOTO BOTTOM
? EOF() && 显示结果为:.F.
SKIP && 移动记录指针到下一条记录命令
? EOF() && 显示结果为:.T.
6).表起始标识测试函数BOF ( )
【格式】BOF ([<工作区号> | <别名>])
【功能】测试记录指针是否移到表起始处。如果记录指针指向表中首记录前面,函数返回真(.T.),否则为假(.F.)。
【例】 测试文件记录是否指向文件头。 USE 学生档案.dbf ?
BOF() && 显示结果为:.F. SKIP -1 &&
移动记录指针到上一条记录命令 ? BOF() &&
显示结果为:.T.
7).记录删除测试函数DELETED( )
【格式】DELETED([<工作区号> | <别名>])
【功能】测试指定工作区中表的当前记录是否被逻辑删除。如果当前记有逻辑删除标记,函数返回真(.T.),否则为假(.F.)。
8).记录个数测试函数RECCOUNT( )
【格式】RECCOUNT ([<工作区号> | <别名>])
【功能】返回指定工作区中表的记录个数。如果工作区中没有打开表则返回0。
【例】 USE XY && 假设表中有10条记录
GO BOTTOM
? EOF(),RECNO() && 显示 .F. 10
SKIP
? EOF(),RECNO(),RECCOUNT() && 显示 .T. 11 10
全国职称计算机考试速成过关系列套装:W .. 定价:¥133 优惠价:¥133.0 更多书籍 | |
全国职称计算机考试速成过关系列套装:W .. 定价:¥124 优惠价:¥124.0 更多书籍 |