例如:
?
12>2AND"人">"人民"OR.T.<.F.
.F.
?
((10%3=1)AND(15%2=0))OR"电脑"!
="计算机"
.T.
常用函数:
3.1数值函数:
1.绝对值函数:
格式:
ABS(<数值表达式>)参数类型:
N函数值类型:
N
作用:
求<数值表达式>的绝对值
例题:
?
ABS(12),ABS(-12)
1212
2.平方根函数:
格式:
SQRT(<数值表达式>)参数类型:
N函数值类型:
N
作用:
求<数值表达式>的平方根
说明:
数值表达式不能为负数
3.求整数函数:
格式:
?
INT(<数值表达式>)参数类型:
N函数值类型:
N
作用:
返回<数值表达式>整数部分(截尾取整)
说明:
将一个数的整数部分取出来,不管小数部分
例题:
?
Int(8.99999)
8
4.四舍五入函数:
格式:
ROUND(<数值表达式1>,<数值表达式2>)参数类型:
N函数值类型:
N
作用:
返回<数值表达式1>在<数值表达式2>处四舍五入结果
说明:
若<数值表达式2>大于等于0,则表示要保留几位小数,否则为整数部分的舍入位数
例题:
?
Round(12.567,2),Round(12.567,1),Round(12.567,0),Round(12.567,-1)
12.5712.61310
5.求余数函数:
格式:
?
MOD(<数值表达式1>,<数值表达式2>)参数类型:
N函数值类型:
N
作用:
返回<数值表达式1>除以<数值表达式2>的余数
说明:
其规则与运算符(%)相同
例题:
?
MOD(10,3),MOD(10,-3),MOD(-10,3),MOD(-10,-3)
1-22-1
6.求最大值函数:
格式:
MAX(<表达式1>,<表达式2>,…)
作用:
求各表达式中最大值。
说明:
◆可以比较大小的数据类型:
除备注型、通用型外,其余类型均能比较大小;
◆所有表达式的类型必须相同。
例题:
?
Max(12,15.5,4.23),Max("abc","ab"),Max("2","12","05"),Max("汽车","飞机","轮船")
15.5abc2汽车
7.求最小值函数:
格式:
MIN(<表达式1>,<表达式2>,…)
作用:
求各表达式中最小值。
3.2字符函数:
1.字符串长度函数:
格式:
?
LEN(<字符表达式>)参数类型:
C函数值类型:
N
作用:
求<字符表达式>的字符长度(字符数)
说明:
空字符串的长度为0
例题:
x="中文VisualFoxPro6.0"
?
Len(x)
20
2.大小写转换函数:
格式:
?
UPPER(<字符表达式>)参数类型:
C函数值类型:
C
作用:
将<字符表达式>中的小写字符变为大写字符
说明:
其它字符不变
例题:
?
Upper("中文VisualFoxPro6.0")
中文VISUALFOXPRO6.0
格式:
LOWER(<字符表达式>)参数类型:
C函数值类型:
C
作用:
将<字符表达式>中的大写字符变为小写字符
3.空格字符串生成函数:
格式:
?
SPACE(<数值表达式>)参数类型:
N函数值类型:
C
作用:
返回指定数目的空格
4.删除前后空格函数:
格式:
?
TRIM(<字符表达式>)参数类型:
C函数值类型:
C
作用:
去掉<字符表达式>尾部空格
说明:
其它空格保留(不去除)
例题:
?
"abc□"+"123",Trim("abc□")+"123"
abc□123abc123
格式:
?
RTRIM(<字符表达式>)参数类型:
C函数值类型:
C
作用:
去掉<字符表达式>尾部空格
格式:
?
LTRIM(<字符表达式>)参数类型:
C函数值类型:
C
作用:
去掉<字符表达式>前导部空格
格式:
ALLTRIM(<字符表达式>)参数类型:
C函数值类型:
C
作用:
去掉<字符表达式>前导空格和尾部空格
说明:
中间空格保留(不去除)
5.取子串函数:
格式:
?
LEFT(<字符表达式>,<长度>)参数类型:
C函数值类型:
C
作用:
从<字符表达式>左边取若干字符
说明:
如果<字符表达式>字符数目小于<长度>时,则取出所有字符
例题:
?
Left("中文VisualFoxPro6.0",4)
中文
格式:
?
RIGHT(<字符表达式>,<长度>)参数类型:
C函数值类型:
C
作用:
从<字符表达式>右边取若干字符
说明:
如果<字符表达式>字符数目小于<长度>时,则取出所有字符
例题:
?
Right("中文VisualFoxPro6.0",4)
o6.0
格式:
?
SUBSTR(<字符表达式>,<起始位置>[,<长度>])参数类型:
C函数值类型:
C
作用:
从<字符表达式>中某位置开始取若干字符
说明:
若缺省<长度>参数,则取到末尾
例题:
?
SUBSTR("中文VisualFoxPro6.0",5,6)
Visual
6.求子串位置函数:
格式:
?
AT(<字符表达式1>,<字符表达式2>)参数类型:
C函数值类型:
N
作用:
返回<字符表达式1>的首字符在<字符表达式2>中的位置
说明:
◆若<字符表达式1>没有包含在<字符表达式2>中,则函数值为0;
◆“字符表达式”区分大小写
例题:
?
AT("ab","asabhjabh"),AT("AB","asabhjabh")
30
7.子串替换函数:
格式:
?
STUFF(<字符表达式1>,<起始位置>,<长度>,<字符表达式2>)参数类型:
C函数值类型:
C
作用:
用<字符表达式2>替换<字符表达式1>中从<起始位置>开始的若干字符,替换的字符数由<长度>给出
说明:
若<长度>为0,则将<字符表达式2>插入到<字符表达式1>中<起始位置>处。
例题:
?
Stuff("中文VisualFoxPro6.0",5,16,"Turbo")
中文Turbo6.0
8.字符串匹配函数:
格式:
?
LIKE(<字符表达式1>,<字符表达式2>)参数类型:
C函数值类型:
L
作用:
比较两个字符串对应位置上的字符,若所有对应字符都匹配,函数返回逻辑真,否则返回逻辑假
说明:
<字符表达式1>中可以包含通配符*和?
。
例题:
?
Like("ab?
","abc")
.T.
3.3日期时间函数:
1.系统日期、时间函数:
格式:
?
DATE()参数类型:
无函数值类型:
D
作用:
获取系统当前日期
例题:
?
Date()
10/12/07
格式:
TIME()参数类型:
无函数值类型:
C
作用:
获取系统当前时间
例题:
?
Time()
12:
13:
16
格式:
DATETIME()参数类型:
无函数值类型:
T
作用:
获取系统当前日期与时间
例题:
?
Datetime()
10/12/0712:
13:
45PM
2.求年份、月份、天数函数:
格式:
?
YEAR(<日期表达式>|<日期时间表达式>)参数类型:
D/T函数值类型:
N
作用:
从指定的<日期表达式>或<日期时间表达式>获取年份
例题:
?
Year({^2007.12.11})-1
2006
格式:
?
MONTH(<日期表达式>|<日期时间表达式>)参数类型:
D/T函数值类型:
N
作用:
从指定的<日期表达式>或<日期时间表达式>获取月份
例题:
?
Month({^2007.12.11})
12
格式:
DAY(<日期表达式>|<日期时间表达式>)参数类型:
D/T函数值类型:
N
作用:
从指定的<日期表达式>或<日期时间表达>式获取天
例题:
?
Day({^2007.12.11})
11
3.时、分、秒函数:
格式:
HOUR(<日期时间表达式>)参数类型:
T函数值类型:
N
作用:
从指定的<日期时间表达式>获取小时部分
说明:
函数值为24小时制
格式:
MINUTE(<日期时间表达式>)参数类型:
T函数值类型:
N
作用:
从指定的<日期时间表达式>获取分钟部分
格式:
SEC(<日期时间表达式>)参数类型:
T函数值类型:
N
作用:
从指定的<日期时间表达式>获取秒数部分
3.4数据类型转换函数:
1.数值转换成字符串函数:
格式:
?
STR(<数值表达式>[,<长度>[,<小数位>]])参数类型:
N函数值类型:
C
作用:
将<数值表达式>的值转换成字符型数据
说明:
◆转换时根据需要自动进行四舍五入;
◆如果不指定<小数位>,则转换后只有整数部分;
◆如果不指定<长度>,则转换后总长度为10;若果有效部分不够10位,则左边添加空格;
◆如果指定<长度>值小于<数值表达式>值的整数部分位数,则返回相应数量的星号(*)。
例题:
?
str(123.456),str(123.456,6),str(123.456,6,2),str(123.456,2)
□□□□□□□123□□□123123.46**
2.字符串转换成数值函数:
格式:
?
VAL(字符表达式)参数类型:
C函数值类型:
N
作用:
将<字符表达式>的值转换成数值型数据
说明:
◆如果字符串内出现非数字字符,则只转换前面部分;
◆若<字符表达式>的首字符不是数字符号,则返回数值零,但忽略前导空格。
例题:
?
Val("123.4"),Val("123abd34"),Val("中国")
123.40123.000.00
3.求字符ASC码函数
格式:
ASC(字符表达式)参数类型:
C函数值类型:
N
作用:
将“字符”转换成对应的ASCII值。
说明:
◆若“字符表达式”是一个字符串(非一个字符),则只转换第一个字符;
◆若“字符表达式”是若干个汉字,则只转换第一个汉字。
◆必须记住的字符ASCII码:
"a"—97,"A"—65,"0"—48
例题:
?
ASC("a"),ASC("abcd"),ASC("123"),ASC("中国")
97974954992
4.通过ASCII值求字符函数:
格式:
CHR(数字表达式)参数类型:
N函数值类型:
C
作用:
将“数字”转换成对应的字符。
例题:
?
CHR(100),CHR(70),CHR(50),CHR(54992)
dF2中
5.字符串转换成日期或日期时间函数:
格式:
CTOD(字符表达式)参数类型:
C函数值类型:
D
作用:
将<字符表达式>的值转换成日期型数据
说明:
◆“字符表达式”必须是日期格式,如:
"12.21.07";
◆如果“字符表达式”的格式不符合日期格式,将转换出空日期。
例题:
?
Ctod("12.21.07"),Ctod("13.21.07")
12/21/07//
格式:
CTOT(字符表达式)参数类型:
C函数值类型:
T
作用:
将<字符表达式>的值转换成日期时间型数据
6.日期或时间转换成字符串函数:
格式:
DTOC(日期表达式|日期时间表达式[,1])参数类型:
D函数值类型:
C
作用:
将<日期表达式>或<日期时间表达式>的值转换成字符型数据
例题:
下列程序执行后的输出结果为:
a={^2007.12.31}
?
Dtoc(A)
A.12/31/07B.2007/12/31C.31/12/07D.12.31.07
格式:
TTOC(日期时间表达式[,1])参数类型:
T函数值类型:
C
作用:
将<日期时间表达式>的值转换成字符型数据
7.宏替换函数:
格式:
?
&<字符型变量>[.]:
参数类型:
C函数值类型:
C/N/D/T
作用:
替换出<字符型变量>的内容,即&的值是变量中的字符串。
说明:
◆如果该函数与其后的字符无明确分界,则要用“.”作函数结束标识。
◆宏替换可以嵌套使用。
例题1:
A=123
B="A"
?
&B
123
例题2:
设N=886,M=345,K='M+N',表达式1+&K的值是()
A、1232B、数据类型为匹配C、1+M+ND、346
3.5测试函数:
1.空值(NULL值)测试函数:
格式:
?
ISNULL(<表达式>)参数类型:
C/N/Y/F/I/B/D/T/L/M函数值类型:
L
作用:
若<表达式>的值为null则返回.T.,否则返回.F.
说明:
此函数如果用于检测其它非null数据,将全部返回.F.
例题:
?
isnull(.null.),isnull(12),isnull("")
.T..F..F.
2.“空”值测试函数:
格式:
?
EMPTY(<表达式>)参数类型:
C/N/Y/F/I/B/D/T/L/M函数值类型:
L
作用:
若<表达式>的值为“空”则返回.T.,否则返回.F.
数据类型
“空”值
数据类型
“空”值
数值型
0
双精度型
0
字符型
空串、空格、制表符、回车、换行
日期型
空(如CTOD(""))
货币型
0
日期时间型
空(如CTOT(""))
浮点型
0
逻辑型
.F.
整型
0
备注字段
空(无内容)
例题:
?
Empty(""),Empty(""),Empty("12"),Empty(0),Empty(.F.)
.T..T..F..T..T.
3.数据类型测试函数:
格式:
?
VARTYPE(<表达式>)
作用:
获取<表达式>的数据类型
返回的字母
数据类型
返回的字母
数据类型
C
字符型或备注型
G
通用型
N
数值型、整型、浮点型、双精度型
D
日期型
Y
货币型
T
日期时间型
L
逻辑型
X
Null值
O
对象型
U
未定义
4.条件测试函数:
格式:
IIF(<逻辑表达式>,<表达式1>,<表达式2>)