当前位置:首页>编程日记>正文

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 ( expC, expN)

功能: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( 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='热烈欢迎各位来我校参观指导!'

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给出星期几的英文名称。

      DATE(),DOWDATE()),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位。

     ②若指定<长度>小于<数值表达式>整数位数,则用一串"*"号表示数据溢出;若<长度>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[数值型表达式])

功能:测试<数值表达式>指定的工作区中数据库记录的长度(字节数)。

说明:不选用<数值表达式>时,在当前工作区测试。

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):如果最近执行 CONTINUEFINDWDEXSEEK()LOCATE 或 SEEK 命令成功,函数返回值为”(.T.)


http://www.coolblog.cn/news/b6b97f09eb222bc4.html

相关文章:

  • asp多表查询并显示_SpringBoot系列(五):SpringBoot整合Mybatis实现多表关联查询
  • s7day2学习记录
  • 【求锤得锤的故事】Redis锁从面试连环炮聊到神仙打架。
  • 矿Spring入门Demo
  • 拼音怎么写_老师:不会写的字用圈代替,看到孩子试卷,网友:人才
  • Linux 实时流量监测(iptraf中文图解)
  • Win10 + Python + GPU版MXNet + VS2015 + RTools + R配置
  • 美颜
  • shell访问php文件夹,Shell获取某目录下所有文件夹的名称
  • 如何优雅的实现 Spring Boot 接口参数加密解密?
  • LeCun亲授的深度学习入门课:从飞行器的发明到卷积神经网络
  • Mac原生Terminal快速登录ssh
  • java受保护的数据与_Javascript类定义语法,私有成员、受保护成员、静态成员等介绍...
  • mysql commit 机制_1024MySQL事物提交机制
  • 支撑微博千亿调用的轻量级RPC框架:Motan
  • jquery 使用小技巧
  • 2019-9
  • 法拉利虚拟学院2010 服务器,法拉利虚拟学院2010
  • vscode pylint 错误_将实际未错误的py库添加到pylint白名单
  • 科学计算工具NumPy(3):ndarray的元素处理
  • 工程师在工作电脑存 64G 不雅文件,被公司开除后索赔 41 万,结果…
  • linux批量创建用户和密码
  • newinsets用法java_Java XYPlot.setInsets方法代碼示例
  • js常用阻止冒泡事件
  • 气泡图在开源监控工具中的应用效果
  • 各类型土地利用图例_划重点!国土空间总体规划——土地利用
  • php 启动服务器监听
  • dubbo简单示例
  • 【设计模式】 模式PK:策略模式VS状态模式
  • [iptables]Redhat 7.2下使用iptables实现NAT
  • Ubuntu13.10:[3]如何开启SSH SERVER服务
  • CSS小技巧——CSS滚动条美化
  • JS实现-页面数据无限加载
  • 阿里巴巴分布式服务框架 Dubbo
  • 最新DOS大全
  • Django View(视图系统)
  • 阿里大鱼.net core 发送短信
  • 程序员入错行怎么办?
  • 两张超级大表join优化
  • 第九天函数
  • Linux软件安装-----apache安装
  • HDU 5988 最小费用流
  • Sorenson Capital:值得投资的 5 种 AI 技术
  • 《看透springmvc源码分析与实践》读书笔记一
  • 正式开课!如何学习相机模型与标定?(单目+双目+鱼眼+深度相机)
  • Arm芯片的新革命在缓缓上演
  • nagios自写插件—check_file
  • python3 错误 Max retries exceeded with url 解决方法
  • 行为模式之Template Method模式
  • 通过Spark进行ALS离线和Stream实时推荐