Visual FOXPRO中的常用内部函数    

    函数的一般形式是:函数名(自变量表)
   
其中函数名是系统规定的,自变量表可以是一个变量或多个自变量,也可以为空,即:函数名(),此时函数名后面的一对圆括号不能省略。
1、数学函数(数值函数)
 求绝对值函数ABS
格式:ABS( expN)
 求整函数INT
格式:INT( expN)
 四舍五入函数ROUND
格式:ROUND( expN,〈保留小数位〉)
功能:按保留小数位指定的位数对 expN的数值进行四舍五入。
说明:当保留小数位为正整数或零时,系统将自动对其后一位上的数进行四舍五入处理;当其为负数时,舍入将在整数部分进行,这时保留小数位的绝对值为从个位开始向左被舍入的位数。

?ROUND3.14159,3 → 3.14200

FLOOR() 函数  对于给定的数值型表达式的值,返回小于或等于它的最大整数。

格式:FLOOR( expN)

CEILING函数 返回大于或等于指定数值表达式的下一个最高整数。

语法CEILING( expN)返值类型
 指数函数EXP、自然对数函数LOG、平方根函数SQRT
格式:EXP| LOG | SQRT ( expN)
 取模 (求余数)函数MOD
格式:MOD( expN1,  expN2)
功能:取 expN1除以 expN2的余数。
说明:余数的正负号与 expN2相同。当两个表达式的值同号时,函数值为 expN1除以 expN2所得到的余数;两个表达式的值异号时,函数值为 expN1除以 expN2所得到的余数再加上 expN2的值。

?MOD(20,3) → 2
?MOD(20,-3) → -1
?MOD(-20,-3) → -2
?MOD(-20,3) → 1

 

求最大MAX、最小值MIN
格式:MAX| MIN (exp1exp2[,…])
功能:求exp1exp2[,…]中的最大、最小者。

2、字符串函数

找子字符串AT
格式:AT(〈字符表达式1,〈字符表达式2)
功能:求〈字符表达式1〉在〈字符表达式2〉的起始位置数值。
说明:若〈字符表达式2〉中不包含〈字符表达式1〉,则函数值为零;
    
若〈字符表达式2〉的值含有两个以上的〈字符表达式1〉的值,则函数给出第一个值的位置。
    
大小写字母在检索中视为不同。

?AT("数据","计算机数据管理系统") → 7
 

求子串函数SUBSTR
格式:SUBSTR expC,〈起始位置〉[,〈长度〉]
功能:对 expC从给定的〈起始位置〉开始截取指定长度的字符,生成一个新的字符串;
说明:若无<长度><长度>大于后面剩余的字符个数,则截至末尾。
    
若〈起始位置〉大于字符串表达式长度,则输出空串。

?SUBSTR("110102490217041",7,6) → 490217

 

取左、右子串函数
格式:LEFT|RIGHT ( expCexpN)
功能:LEFT  expC左边截取由 expN的值指定的字符,生成一个新的字符串;
RIGHT
 expC右边截取由 expN的值指定的字符,生成一个
新的字符串;

?LEFT('FOXPRO数据库管理系统',6) → FOXPRO
?RIGHT('FOXPRO
数据库管理系统',14) → 数据库管理系统

 删除首部和尾部空格函数LTRIMTRIM(RTRIM)
格式:LTRIM|TRIM ( expC)
功能:LTRIM删除字符串首部的空格
TRIM
删除字符串尾部的空格
说明:ALLTRIM则可删除字符串首尾部的空格。

构造空格函数SPACE
格式:SPACE( expN
功能:产生由 expN值决定的空格数。

 

 字符串长度函数LEN
格式:LEN( expC)
功能:测定字符串的长度(字符个数)

?LEN('FOXPRO数据库管理系统') → 20

 

 生成重复字符串函数REPLICATER
格式:REPLICATER( expCexpN)
功能:把 expC的值(字符串)重复由 expN的值指定的次数,生成新的字符串。

?REPLICATE('FOXPRO',3) → FOXPROFOXPROFOXPRO

 

 大小写字母转换函数LOWER|UPPER
格式: LOWER|UPPER ( expC)
功能:LOWER expC中的大写字母转换为小写字母;
      UPPER
 expC中的小写字母转换为大写字母。

?LOWER([FoxPro]) → foxpro
?UPPER([FoxPro]) → FOXPRO

字符串替换函数STUFF
格式:STUFF(<字符表达式1>,<起始位置>,<字符个数>,<字符表达式2>)
功能:从指定位置开始,<字符表达式2>替换<字符表达式1>
说明:<字符表达式2>中的字符个数与<字符表达式1>中的字符个数可以不等。
     
如果<字符个数>0,则插入<字符表达式2>
     
如果<字符表达式2>为空字符串,则删除<字符表达式1>中指定字符。

HY='热烈欢迎各位来我校参观指导!'
STUFFHY94'各校领导'热烈欢迎各校领导来我校参观指导!
STUFFHY130'贵宾'热烈欢迎各位贵宾来我校参观指导!
STUFFHY910''热烈欢迎参观指导!

3、日期和时间函数

系统日期函数DATE
格式:DATE()
    
DATE → 99/11/15

系统时间函数TIME
格式:TIME()
    
TIME → 08:50:43

年、月、日函数YEAR|MONTH|DAY
格式:YEAR|MONTH|DAY( expD)
功能:从 expD中求出年份、月份、日份的数值。
     ? DATE(),YEAR(DATE()) → 99/11/15 1999
     ? DATE(),MONTH(DATE()) → 99/11/15 11
     ? DATE(),DAY(DATE()) → 99/11/15 15

星期函数DOW|CDOW
格式1DOW ( expD)
格式2CDOW ( expD)
功能:格式1给出 expD指定的日期是一星期的第几天。
1表示星期日,2表示星期一,……,7表示星期六)
格式2给出星期几的英文名称。
    
DATEDOWDATE())CDOWDATE())→ 99/11/14 1 Sunday

4、类型转换函数
 字符转换为数值函数VAL
格式:VAL( expC)
功能:将字符型数据转换为数值型数据。
说明:<字符表达式>由数字字符和小数点组成,则转换成相应的数值,但只保留两位
小数,其余小数四舍五入。
     
<字符表达式>由非数字字符打头,则转换为0.00
     
<字符表达式>由数字字符打头,且混有非数字字符时,则转换到第一个。

VAL("1234.5678") → 1234.57
? VAL("FoxPro") → 0.00
? VAL("1234FOX.5678") → 1234.00

 

 数值转换为字符函数STR
格式:STR( expN[,〈长度〉][,〈小数位数〉]))
功能: expN的运算结果转换为指定长度的字符串。
说明:<长度>应包括小数点在内,不指定长度时,系统默认整数位10位。
    
若指定<长度>小于<数值表达式>整数位数,则用一串"*"