ABS(-7.8) = 7.80 *! 取绝对值函数SQRT(25) = 5.00 *1 平方根函数PI() = 3.14 *! π函数SIN(2) = 0.91 *! 正弦函数COS(60*PI()/180) = 0.50 *! 余弦函数MOD(8,3) = 2 *! 求余数函数SPACE(5) = " " *! 空格函数CHR(66) = “B" *! ASCII字符函数ASC(‘B’) = 66 *! ASCII码函数VAL("238“) = 238.00 *! 字符数值型转换函数STR(365,5) = ”365.5" *! 数值字符型转换函数-------------------------------------------------------------------------------Visual Foxpro 常用函数一、数值函数
数值函数用于数值运算,其自变量与函数都是数值型数据。
1.取绝对值函数ABS( )
格式ABS(<nExp>)
功能计算nExp的值,并返回该值的绝对值。
2.指数函数EXP( )
格式EXP(<nExp>)
功能求以e为底、nExp值为指数的幂,即返回ex的值。
3.取整函数INT( )
格式INT(<nExp>)
功能计算nExp的值,返回该值的整数部分。
4.上界函数CEILING( )
格式CEILING(<nExp>)
功能计算nExp的值,返回一个大于或等于该值的最小整数。
5.下界函数FLOOR( )
格式FLOOR(<nExp>)
功能计算nExp的值,返回一个小于或等于该值的最大整数。
6.自然对数函数LOG( )
格式LOG(<nExp>)
功能求nExp的自然对数。nExp的值必须为正数。
7.常用对数函数
格式LOG10(<nExp>)
功能求nExp的常用对数。nExp的值必须为正数。
8.平方根函数SQRT( )
格式SQRT(<nExp>)
功能求非负nExp的平方根。
9.最大值函数MAX( )和最小值函数MIN( )
格式MAX(<nExp1>,< nExp2>[,< nExp3>...])
MIN(<nExp1>,< nExp2>[,< nExp3>...])
功能返回数值表达式中的最大值MAX( )和最小值MIN( )。
10.求余数函数MOD( )
格式MOD(<nExp1>,<nExp2>)
功能返回nExp1除以nExp2的余数。余数的小数位数与nExp1相同,符号与nExp2相同。
11.四舍五入函数ROUND( )
格式ROUND(<nExp1>,< nExp2>)
功能返回nExp1四舍五入的值, nExp2表示保留的小数位数。
12.π函数PI( )
格式PI( )
功能返回常量π的近似值
13.正弦函数SIN( )
格式SIN(<nExp>)
功能返回nExp的正弦值。nExp以弧度为单位,函数值域为[-1,1]。
14.余弦函数COS( )
格式COS(<nExp>)
功能返回nExp的余弦值。nExp以弧度为单位,函数的值域为[-1,1]。
15.正切函数TAN( )
格式TAN(<nExp>)
功能返回nExp的正切值。nExp以弧度为单位,其值为π/2或- π/2时,系统返回一个绝对值很大的数。
16.反正弦函数ASIN( )
格式ASIN(<nExp>)
功能返回nExp的反正弦值。自变量值必须在[-1,1]内,函数值为弧度,且值域为[-π/2, π/2]。
17.反余弦函数ACOS( )
格式ACOS(<nExp>)
功能返回nExp的反余弦值。自变量的值必须在[-1,1]内,函数值为弧度,值域为[-π/2, π/2]。
18.反正切函数ATAN( )
格式ATAN(<nExp>)
功能返回nExp的反正切值。函数值为弧度,值域为(-π/2, π/2)。 二、字符函数
字符函数是处理字符型数据的函数,其自变量或函数值中至少有一个是字符型数据。函数中涉及的字符型数据项,均以cExp表示。
1.子串位置函数
格式AT(<cExp1>,< cExp 2>)
功能返回串cExp1在串cExp2中的起始位置。函数值为整数。如果串cExp2不包含串cExp1,函数返回值为零。
2.取左子串函数LEFT( )
格式LEFT(<cExp>,<nExp>)
功能返回从cExp串中第一个字符开始,截取nExp个字符的子串。
3.取右子串函数RIGHT( )
格式RIGHT(<cExp >,< nExp>)
功能返回从cExp串中右边第一个字符开始,截取nExp个字符的子串。有关说明同LEFT( )函数。
4.取子串函数SUBSTR( )
格式SUBSTR (<cExp>,<nExp1> [,< nExp2>] )
功能返回从串cExp中第nExp1个字符开始,截取nExp2个字符的子串。
5.字符串长度函数LEN( )
格式LEN(<cExp>)
功能返回cExp串的字符数(长度)。函数值为N型。
6.删除字符串前导空格函数LTRIM( )
格式LTRIM(<cExp>)
功能删除cExp串的前导空格字符。
7.删除字符串尾部空格函数RTRIM( ) | TRIM( )
格式RTRIM | TRIM(<cExp>)
功能删除cExp串尾部空格字符。
8.空格函数SPACE( )
格式SPACE (<nExp>)
功能返回一个包含nExp个空格的字符串。
9.字符串替换函数STUFF( )
格式STUFF(<cExp1>,<nExp1>,<nExp2>,<cExp2>)
功能从nExp1指定位置开始,用cExp2串替换 cExp1串中nExp2个字符。
10.字符复制函数 REPLICATE( )
格式REPLICATE (<cExp>,<nExp>)
功能返回将cExp串重复nExp次的字符串。
11.定义输出格式函数 TRANSFORM( )
格式TRANSFORM (<eExp>,<cExp>)
功能按格式描述式cExp指定的格式,输出任意表达式eExp的值。
12.大小写转换函数LOWER( ) 和UPPER( )
格式LOWER (<cExp>)
UPPER (<cExp>)
功能LOWER( )将cExp串中字母全部变成小写字母,UPPER( )将cExp串中字母全部变成大写字母,其它字符不变。
13.宏替换函数 &
格式& < cVar >[.< cExp >]
功能替换出字符型变量cVar中字符。 三、日期时间函数
日期时间函数是处理日期型或日期时间型数据的函数。其自变量为日期型表达式dExp或日期时间型表达式tExp。
1.系统日期函数DATE( )
格式DATE()
功能返回当前系统日期,此日期由Windows系统设置。函数值为D型。
2.系统时间函数TIME( )
格式TIME([<nExp>])
功能返回当前系统时间,时间显示格式为hh:mm:ss。若选择了nExp ,则不管为何值,返回的系统时间还包括秒的小数部分,精确至小数点后两位。函数值为C型。
3.日期函数DAY( )
格式DAY(<dExp>)
功能返回dExp式中的天数。函数值为N型
4.星期函数DOW( )、CDOW( )
格式DOW(<dExp>)
CDOW(<dExp>)
功能DOW( )函数返回dExp式中星期的数值,用1~7表示星期日~星期六。函数值为N型。CDOW( ) 函数返回dExp式中星期的英文名称。函数值为C型。
5.月份函数MONTH( )、CMONTH( )
格式MONTH(<dExp>)
CMONTH(<dExp>)
功能MONTH( )函数返回dExp式中月份数。函数值为N型。CMONTH( )函数则返回月份的英文名。函数值为C型。
6.年份函数YEAR( )
格式YEAR(<dExp>)
功能函数返回dExp式中年份值。函数值为N型。 四、转换函数
在数据库应用的过程中,经常要将不同数据类型的数据进行相应转换,满足实际应用的需要。Visual FoxPro系统提供了若干个转换函数,较好地解决了数据类型转换的问题。
1.ASCII码函数ASC( )
格式ASC (<cExp>)
功能返回cExp串首字符的ASCII码值。函数值为N型。
2.ASCII字符函数CHR( )
格式CHR(<nExp >)
功能返回以nExp值为ASCII码的ASCII字符。函数值为C型。
3.字符日期型转换函数CTOD( )
格式CTOD(<cExp>)
功能把“××/××/××”格式的cExp串转换成对应日期值。函数值为D型。
4.日期字符型转换函数DTOC( )
格式DTOC(<dExp >〔, 1〕)
功能把日期dExp转换成相应的字符串。函数值为C型。
5.数值字符型转换函数STR( )
格式STR(<nExp1>[,< nExp2>][,< nExp3>])
功能将nExp1的数值转换成字符串形式。函数值为C型。
6.字符数值型转换函数VAL( )
格式VAL (<cExp>)
功能将cExp串中数字转换成对应数值,转换结果取两位小数。函数值为N型。 五、测试函数
在数据库应用的操作过程中,用户需要了解数据对象的类型、状态等属性,Visual FoxPro提供了相关的测试函数,使用户能够准确地获取操作对象的相关属性。
1.数据类型函数TYPE( )
格式TYPE(<cExp >)
功能返回cExp 串表示的数据对象的数据类型,返回值是一个表示数据类型的大写字母。C:字符型,D:日期型,N:数值型,L:逻辑型,M:备注型,G:通用型,U:未定义。
2.文件查找函数FILE()
格式FILE(<cExp>)
功能根据cExp串中指定路径查找文件,如未指定路径,则在默认目录中查找。文件存在,返回逻辑真(.T.) 值,否则为逻辑假(.F.)值。
3.条件测试函数IIF( )
格式IIF(<lExp >,<eExp 1>,<eExp2>)
功能逻辑表达式lExp值为真(.T.),返回表达式eExp1的值,否则返回表达式eExp2的值。eExp1和eExp2可以是任意数据类型的表达式。
4.表结束标志测试函数EOF( )
格式EOF([<工作区号> | <别名>])
功能测试记录指针是否移到表结束处。如果记录指针指向表中尾记录之后,函数返回真(.T.),否则为假(.F.)。
5.表起始标识测试函数BOF ( )
格式BOF ([<工作区号> | <别名>])
功能测试记录指针是否移到表起始处。如果记录指针指向表中首记录前面,函数返回真(.T.),否则为假(.F.)。工作区说明见EOF()函数。
6.当前记录号函数RECNO()
格式RECNO([<工作区号> | <别名>])
功能返回指定工作区中表的当前记录的记录号。对于空表返回值为1。
7.当前记录逻辑删除标志测试函数DELETED( )
格式DELETED([<工作区号> | <别名>])
功能测试指定工作区中表的当前记录是否被逻辑删除。如果当前记有逻辑删除标记,函数返回真(.T.),否则为假(.F.)。
8.记录数函数RECCOUNT( )
格式RECCOUNT ([<工作区号> | <别名>])
功能返回指定工作区中表的记录个数。如果工作区中没有打开表则返回0。
9.记录大小测试函数RECSIZE( )
格式RECSIZE( [<工作区号> | <别名>] )
功能返回指定工作区中表的记录总长度。如果工作区中没有打开表则返回0。
10.屏幕列坐标和行坐标函数 COL( )、ROW( )
格式COL ( )
ROW()
功能COL ( )返回光标的列坐标值,ROW ( )返回光标的行坐标值。
11.打印机列坐标和行坐标函数PCOL( ),PROW( )
格式PCOL( )
PROW()
功能返回打印机打印头所处位置的列坐标和行坐标。