FoxPro 常用内部函数
1、数学函数(数值函数)
求绝对值函数ABS
格式:ABS( expN)
求整函数INT
格式:INT( expN)
四舍五入函数ROUND
格式:ROUND( expN,〈保留小数位〉)
功能:按保留小数位指定的位数对 expN的数值进行四舍五入。
说明:当保留小数位为正整数或零时,系统将自动对其后一位上的数进行四舍五入处理;当其为负数时,舍入将在整数部分进行,这时保留小数位的绝对值为从个位开始向左被舍入的位数。
ROUND(3.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 (exp1,exp2[,…])
功能:求exp1和exp2[,…]中的最大、最小者。
2、字符串函数
找子字符串AT
格式:AT(〈字符表达式1〉,〈字符表达式2〉)
功能:求〈字符表达式1〉在〈字符表达式2〉的起始位置数值。
说明:①若〈字符表达式2〉中不包含〈字符表达式1〉,则函数值为零;
②若〈字符表达式2〉的值含有两个以上的〈字符表达式1〉的值,则函数给出第一个值的位置。
③大小写字母在检索中视为不同。
AT("数据","计算机数据管理系统") → 7
求子串函数SUBSTR
格式:SUBSTR expC,〈起始位置〉[,〈长度〉]
功能:对 expC从给定的〈起始位置〉开始截取指定长度的字符,生成一个新的字符串;
说明:①若无<长度>或<长度>大于后面剩余的字符个数,则截至末尾。
②若〈起始位置〉大于字符串表达式长度,则输出空串。
SUBSTR("110102490217041",7,6) → 490217
取左、右子串函数
格式:LEFT|RIGHT ( expC, expN)
功能:LEFT 从 expC左边截取由 expN的值指定的字符,生成一个新的字符串;
RIGHT 从 expC右边截取由 expN的值指定的字符,生成一个
新的字符串;
LEFT('FOXPRO数据库管理系统',6) → FOXPRO
RIGHT('FOXPRO数据库管理系统',14) → 数据库管理系统
删除首部和尾部空格函数LTRIM和TRIM(RTRIM)
格式:LTRIM|TRIM ( expC)
功能:LTRIM删除字符串首部的空格
TRIM 删除字符串尾部的空格
说明:ALLTRIM则可删除字符串首尾部的空格。
构造空格函数SPACE
格式:SPACE( expN)
功能:产生由 expN的值决定的空格数。
字符串长度函数LEN
格式:LEN( expC)
功能:测定字符串的长度(字符个数)。
LEN('FOXPRO数据库管理系统') → 20
生成重复字符串函数REPLICATER
格式:REPLICATER( expC, expN)
功能:把 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='热烈欢迎各位来我校参观指导!'
STUFF(HY,9,4,'各校领导')→ 热烈欢迎各校领导来我校参观指导!
STUFF(HY,13,0,'贵宾') → 热烈欢迎各位贵宾来我校参观指导!
STUFF(HY,9,10,'') → 热烈欢迎参观指导!
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
格式1:DOW ( expD)
格式2:CDOW ( expD)
功能:①格式1给出 expD指定的日期是一星期的第几天。
(1表示星期日,2表示星期一,……,7表示星期六)
②格式2给出星期几的英文名称。
DATE(),DOW(DATE()),CDOW(DATE())→ 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位。
②若指定<长度>小于<数值表达式>整数位数,则用一串"*"号表示数据溢出;若<长度>为0,则返回空字符串。
③若省略<小数位>,则只转换整数位;若指定小数位,则对下一位四舍五入。
STR(1234.5678,7,2) → 1234.57
STR(1234.5678,4) → 1235
STR(1234.5678) → 1234
STR(1234.5678,3) → ***
STR(1234.5678,2) → **
STR(1234.5678,0) → (空字符串)
字符转换为日期函数CTOD
格式:CTOD( expC)
功能:将符合yy/mm/dd 、mm/dd/yy日期格式的字符串转换为相应日期。
CTOD('99/11/15') → 99/11/15
日期转换为字符函数DTOC
格式:DTOC( expD[,1])
功能:将<日期表达式>转换为相应的字符串。
说明:不选用,1时,按mm/dd/yy格式转换;选用,1时,按yyyymmdd格式转换。
DTOC(DATE()),DTOC(DATE(),1) → 99/11/15 19991115
字符转换成ASCII码值函数ASC
格式:ASC( expC)
功能:返回<字符表达式>最左边的一个字符的ASCII码值。
ASC('A'),ASC('a'),ASC('0') → 65 97 48
汉字的ASCII码(略)
ASCII码值转换为字符函数CHR
格式:CHR( expN)
功能:将<数值表达式>所表示的ASCII码值转换为相应的字符。
CHR(65),CHR(97),CHR(48) → A a 0
ASC( expC)和CHR( expN)互为反函数。
5、数据库处理和测试函数
记录号测试函数 RECNO
格式:RECNO([数值型表达式])
功能:给出<数值表达式>指定的工作区中打开的数据库的当前记录号。
说明:①不选用<数值表达式>时,给出当前工作区数据库当前记录号。
②若<数值表达式>指定的工作区没有打开数据库文件,则返回值为0。
文件起始测试函数 BOF
格式:BOF([数值型表达式])
功能:测试<数值表达式>指定的工作区中库文件记录指针是否指向起始位置。是函数值为逻辑真(.T.),否则为假(.F.)。
说明:①库文件起始位置在首记录的前面,也称为文件头。
②不选用<数值表达式>时,测试当前工作区数据库文件。
③若<数值表达式>指定的工作区没有打开数据库文件,则返回值永为.F.。
文件结束测试函数 EOF
格式:EOF([数值型表达式])
功能:测试<数值表达式>指定工作区中库文件记录指针是否指向结束位置。是函数值为逻辑真(.T.),否则函数值为假(.F.)。
说明:①库文件结束位置在未记录的下面,也称为文件尾。
②不选用<数值表达式>时,测试当前工作区数据库文件。
③若<数值表达式>指定的工作区没有打开数据库文件,则返回值永为.F.。
文件测试函数 FILE
格式:FILE(〈文件名〉)
功能:测试<字符表达式>指定的磁盘文件是否存在,若存在,函数值为逻辑真(.T.),否则函数值为假(.F.)。
记录测试函数 RECOUNT
格式:RECOUNT([数值型表达式])
功能:测试<数值表达式>指定的工作区中数据库的记录个数。
说明:①不选用<数值表达式>时,测试当前工作区数据库记录个数。
② 若<数值表达式>指定的工作区没有打开数据库文件,则返回值为0。
记录大小测试函数 RECSIZE
格式:RECSIZE[数值型表达式])
功能:测试<数值表达式>指定的工作区中数据库记录的长度(字节数)。
说明:①不选用<数值表达式>时,在当前工作区测试。
②若<数值表达式>指定的工作区没有打开数据库文件,则返回值为0。
FSIZE() 函数以字节为单位,返回指定字段或文件的大小。
格式:FSIZE(cFieldName [, nWorkArea | cTableAlias] | cFileName)
数据类型测试函数 TYPE(expN|expC):计算字符表达式,并返回表达式的数据类型。
别名测试函数ALIAS(expN|expC):返回指定工作区中数据表的别名。
表文件名测试函数DBF (expN|expC):返回指定工作区中数据表的文件名。
字段数测试函数 FCOUNT (expN|expC):返回指定工作区中数据表的字段数。
字段名测试函数FIELD(expN1[,expN|expC]):返回指定工作区数据表第expN1个字段名。
记录号RECNO(expN|expC):返回指定工作区中当前记录指针所在记录的编号。
当前工作区测试函数 SELECT()
删除标记测试DELETE(expN|expC): 测试当前记录是否加删除标记。
FOUND(expN|expC):如果最近执行 CONTINUE、FIND、WDEXSEEK()、LOCATE 或 SEEK 命令成功,函数返回值为“真”(.T.)。
FoxPro 常用内部函数的更多相关文章
- foxpro常用命令
Visual FoxPro原名FoxBase,最初是由美国Fox Software公司于1988年推出的数据库产品,在DOS上运行,与xBase系列兼容.FoxPro是FoxBase的加强版,最高版本 ...
- Freemaker FTL指令常用标签及语法
https://blog.csdn.net/pengpengpeng85/article/details/52070602 FTL指令常用标签及语法 注意:使用freemaker,要求所有标签必须闭合 ...
- vb常用函数一览表
常用内部函数 数学函数 函数 功能 示例 结果 说明 Abs(x) 绝对值 Abs(-50.3) 50.3 Exp(x) 自然指数 Exp(2) e^2 e(自然对数的底)的某次方 Fix(x) ...
- FTL指令常用标签及语法
FTL指令常用标签及语法注意:使用freemaker,要求所有标签必须闭合,否则会导致freemaker无法解析. freemaker注释:<#-- 注释内容 -->格式部分,不会输出 - ...
- Pascal、VB、C#、Java四种语法对照表
因为工作原因,自学会了vb后陆续接触了其它语言,在工作中经常需要与各家使用不同语言公司的开发人员做程序对接,初期特别需要一个各种语法的对照比,翻看了网络上已有高人做了整理,自己在他基础上也整理了一下, ...
- VB与C#语言部分不用的地方Part1
1. 数据类型: ① 日期型(Date) 表示日期和时间用两个“#”符号把日期和时间的值括起来,如:#08/20/2001#.#2001-08-20#. ② 变体型(Variant) ...
- php核心纪要 整理
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- FreeMarker基本语法的使用
参考博客: http://www.cnblogs.com/panchanggui/p/9346574.html https://blog.csdn.net/zyy88886666/article/de ...
- freemarker在web应用项目的使用
FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出.FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP.它不仅可以用作表现层的实现 ...
随机推荐
- nginx会话保持之sticky模块
nginx会话保持之nginx-sticky-module模块 在使用负载均衡的时候会遇到会话保持的问题,常用的方法有:1.ip hash,根据客户端的IP,将请求分配到不同的服务器上:2.cooki ...
- JavaScript学习总结(二十三)——JavaScript 内存泄漏教程
参考教程:http://www.ruanyifeng.com/blog/2017/04/memory-leak.html 一.什么是内存泄漏? 程序的运行需要内存.只要程序提出要求,操作系统或者运行时 ...
- VS2013命令行界面查看虚函数的内存布局
内存布局可能使用vs的界面调试看到的旺旺是一串数字,很不方便,但是vs的命令行界面可以很直观的显示出一个类中具体的内存布局. 打开命令行.界面如下所示: 测试代码如下所示: class Base1 { ...
- Mac下 cordova 安装随笔
首先这是我自己第一篇博客,如果有什么不对的,大家指出,积极修改. cordova是大家做混合开发最经常使用的一款使用HTML, CSS & JS进行移动App开发多平台共用一套代码,中文官方网 ...
- JMeter VS LoadRunner
对比项 JMeter LoadRunner 安装 简单,下载解压即可 复杂,安装包大于1GB,安装时间较久 录制/回放模式 支持 支持 测试协议 偏少,但用户可自行拓展 较多,用户不可自行拓展 分布式 ...
- LambdaMART简介——基于Ranklib源码(一 lambda计算)
学习Machine Learning,阅读文献,看各种数学公式的推导,其实是一件很枯燥的事情.有的时候即使理解了数学推导过程,也仍然会一知半解,离自己写程序实现,似乎还有一道鸿沟.所幸的是,现在很多主 ...
- Linux 键盘输入#的时候变成£
/********************************************************************************* * Linux 键盘输入#的时候变 ...
- ZetCode PyQt4 tutorial widgets II
#!/usr/bin/python # -*- coding: utf-8 -*- """ ZetCode PyQt4 tutorial In this example, ...
- Jmeter-线程组执行顺序控制
线程组按顺序来执行,大概思路, 1.需要控制线程组内的操作在满足某一条件才执行,那么就需要使用if或者while: 2.要使用if或者while都需要一个变量,而这个变量要在两个或多个线程组内使用,那 ...
- 好的框架需要好的 API 设计 —— API 设计的六个原则
说到框架设计,打心底都会觉得很大很宽泛,而 API 设计是框架设计中的重要组成部分.相比于有很多大佬都认可的面向对象的六大原则.23 种常见的设计模式来说,API 设计确实缺少行业公认的原则或者说设计 ...