第三章 数据与数据运算
1、字段数据类型(11种)
* N包括Y,F,B,I
2、变量:在程序运行过程中,其值可能发生变化的量。
3、变量的分类:字段变量,内存变量,数组变量,系统变量,对象变量。
4、常用的函数
①、数值型函数
1.绝对值函数
【函数格式】 ?abs(<数值表达式> )
【函数功能】 返回指定“数值表达式”的绝对值
【返回值类型】 数值型
eg:?abs(-1) 1
2.平方根函数
【函数格式】 ?sqrt(<数值表达式>)
【函数功能】 返回指定“数值表达式”值的平方根。“数值表达式”的值必须是大于或等于零
【返回值类型】 数值型
eg:?sqrt(25) 5
?sqrt(81) 9
?sqrt(7^2-4*2*4) 4.12
3.取整函数
【函数格式】 ?int(<数值表达式>)
【函数功能】 返回指定“数值表达式”整数部分的值
【返回值类型】 数值型
eg:?int(6489.658) 6489
?int(123.58) 123
4.四舍五入函数
【函数格式】 ?round(<数值表达式1>,<数值表达式2>)
【函数功能】 对指定的<数值表达式1>进行四舍五入运算
【使用说明】 <数值表达式2>指定四舍五入运算精确的位数。如果“数值表达式2”是正整数,它指定保留的小数位数;如果“数值表达式2”是0,它指定精确到个位;如果“数值表达式2”是负整数,它指定精确的整数位数
【返回值类型】 数值型
eg:?round(678.657,0) 679
?round(678.657,3) 678.657
?round(678.657,-1) 680
5.求余函数
【函数格式】 ?mod(<数值表达式1>, <数值表达式2>)
【函数功能】 求<数值表达式1>除以<数值表达式2>后的模
【使用说明】 若两参数的值大于0,则模为余数;若两参数一正一负,则模为余数与“数值表达式2”之和;若两参数均为负,则模为余数取反。遵循的原则:一、模的符号与表达式2的相同;二、余数的绝对值小于除数(<表达式2>)的绝对值
【返回值类型】 数值型
eg:?mod(100,3) 1
?mod(100,-3) -2
?mod(15,8) 7
?mod(8,15) 8
6. e次方函数
【函数格式】 ?exp(<数值表达式>)
【函数功能】 返回ex的值(x为<数值表达式>)
【返回值类型】 数值型
eg:?exp(1) 2.72
7.最大值函数
【函数格式】 ?max(<表达式1>, <表达式2>…)
【函数功能】 返回各个表达式中的最大值。其中各个表达式的数据类型相同
【返回值类型】 字符型、数值型、日期型,由表达式决定
eg:?max(12,5,8,36) 36
?max(”a”,”b”,”d”,”e”,”y”) y
8.最小值函数
【函数格式】 ?min(<表达式1>, <表达式2>…)
【函数功能】 返回各个表达式中的最小值。其中各个表达式的数据类型相同
【返回值类型】 字符型、数值型、日期型,由表达式决定
eg:?min(12,5,8,36) 5
?min(”a”,”b”,”d”,”e”,”y”) a
9.对数函数
【函数格式】 ?log(<数值表达式>)
【函数功能】 返回以e为底的自然对数值
【返回值类型】 数值型
eg:?log(2.72) 1
10. 圆周率函数
【函数格式】 ?pi(<表达式>)
【函数功能】 求表达式的圆周率
【返回值类型】 数值型
eg:?pi( ) 3.14
②、字符型函数
11.字符串长度测试函数
【函数格式】 ?len(<字符表达式>)
【函数功能】 返回字符型表达式的长度(字节数)
【返回值类型】 数值型
eg:?len(”df”) 2
?len(”dfjj”) 4
12.小写字母转换大写函数
【函数格式】 ?upper(<字符表达式>)
【函数功能】 把字符表达式中的小写字母转换为大写字母
【返回值类型】 字符型
eg:?upper(”good”) GOOD
?upper(”school”) SCHOOL
13. 大写字母转换小写函数
【函数格式】 ?lower(<字符表达式>)
【函数功能】 把字符表达式中的大写字母转换为小写字母
【返回值类型】 字符型
eg:?lower(“GOOD”) good
?lower(”SCHOOL”) school
14.生成空格字符串函数
【函数格式】 ?space(<数字>)
【函数功能】 返回一个全是空格的字符串,空格数由<数字>决定
【返回值类型】 字符型
eg:?space(5)+”kk” □□□□□kk
?space(3) □□□
15.删除尾空格函数
【函数格式】 ?rtrim(<字符表达式>)或?trim(<字符表达式>)
【函数功能】 删除指定字符串右边的尾随空格
【返回值类型】 字符型
eg:?trim(”□ab□a□□□”) □ab□a
16.删除前空格函数
【函数格式】 ?ltrim(<字符表达式>)
【函数功能】 删除指定字符串左边的空格
【返回值类型】 字符型
eg:?ltrim(”□□□ab□□ax□x□□□”) ab□□ax□x□□□
17.删除所有空格函数
【函数格式】 ?alltrim(<字符表达式>)
【函数功能】 删除指定字符串左右两边的空格
【返回值类型】 字符型
eg:?alltrim(” □□□abc□□□”)+”def” abcdef
18.子字符串函数
【函数格式】 ?substr(<字符表达式>,<起始位置>,<字符个数>)
【函数功能】 从指定的字符串中截取字符,形成一个新的字符串
【使用说明】 <起始位置>是数值型表达式,它指定从第几个字符开始截取,[<字符个数>]也是数值型表达式,它指定连续截取字符的个数。如果省略“字符个数”,则截取到最后一个字符为止。
【返回值类型】 字符型
eg:?substr(”abcdef”,2,3) bcd
?substr(”abcdef”,2) bcdef
19.左子串函数
【函数格式】 ?left(<字符表达式>),<字符个数>)
【函数功能】 从指定是字符串左边第一个字符开始截取字符,形成一个新的字符串
【使用说明】 <字符个数>是数值型表达式,它指定连续截取字符的个数
【返回值类型】 字符型
eg:?left(”abcde”,2) ab
?left(”abcdefg”,4) abcd
20. 右子串函数
【函数格式】 ??right(<字符表达式>),<字符个数>)
【函数功能】 从指定是字符串右边第一个字符开始截取字符,形成一个新的字符串
【返回值类型】 <字符个数>是数值型表达式,它指定连续截取字符的个数
字符型
eg:?right(”abcde”,2) de
?right(”abcdefg”,4) defg
21.字符串1在字符串2出现的次数
【函数格式】 ?occurs(<字符表达式1>,<字符表达式2>)
【函数功能】 返回字符表达式1在字符表达式2中出现的次数
【返回值类型】 数值型
eg:?occurs(”A”,”ABCDABCD”) 2
?occurs(”A”,”abcdabcda”) 0
22.求位置函数
【函数格式】 ?at(<字符表达式1>,<字符表达式1>,<数值表达式>)
或?atc(<字符表达式1>,<字符表达式1>,<数值表达式>)
【函数功能】 返回<字符表达式1>在<字符表达式2>从左边数第<数值表达式>次数出现的位置
【使用说明】 at区分大小写,而atc不区分大小写
【返回值类型】 数值型
eg:?at(”a”,”bacda”) 2
?at(”a”,”bacdaaabdea”,5) 11
?at(”A”,”abcdaaa”) 0
?atc(”A”,”BACDAAABDEa”,5) 11
23.求位置函数
【函数格式】 ?rat(<字符表达式1>,<字符表达式2>,<数值表达式>)
【函数功能】 返回<字符表达式1>在<字符表达式2>从右边数第<数值表达式>次数出现的位置
【返回值类型】 数值型
eg:?rat(”a”,”bacda”) 5
?rat(”a”,”bacdaaabdea”,5) 2
?rat(”A”,”abcdaaa”) 0
24.替换函数
【函数格式】 ?stuff(<字符表达式1>,<数值表达式1>,<数值表达式2>,<字符表达式2>)
【函数功能】 从指定的字符串中截取字符,形成一个新的字符串
【使用说明】 截取<字符表达式1>中,从<数值表达式1>开始,<字符表达式2>替换<数值表达式2>位数,形成新的字符串。
【返回值类型】 字符型
eg:?stuff(”计算机ABC”,3,4,”你好”) 计你好ABC
?stuff(”数据库”,5,6,”管理系统”) 数据管理系统
?stuff(”计算机ABC”,5,4,”你好”) 计算你好C
25.替换函数
【函数格式】 ?chrtran(<字符表达式1>,<字符表达式2>,<字符表达式3>)
【函数功能】 用<字符表达式3>替换<字符表达式1>中与<字符表达式2>相同的字符串,并形成一个新的字符串
【返回值类型】 字符型
eg:?chrtran(”计算机ABCD”,”ABCD”,”你好”) 计算机你好
26.匹配函数
【函数格式】 ?like(<字符表达式1>,<字符表达式2>)
【函数功能】 判断<字符表达式1>是否与<字符表达式2>完全相同
【使用说明】 若<字符表达式1>与<字符表达式2>完全相同,则显示逻辑值为真,反之为假
【返回值类型】 逻辑型
eg:?like("abc","abc") .T.
?like("abc","aBC") .F.
?like("abc□","aBC") .F.
?like("abc□","abc") .F.
?like("abc□","abc□") .T.
③、日期与时间函数
27.日期函数
【函数格式】 ?date()
【函数功能】 返回当前系统日期。返回日期的约定格式为mm/dd/yy
【返回值类型】 日期型
28.时间函数
【函数格式】 ?time()
【函数功能】 返回当前系统时间。返回时间的约定格式为hh:mm:ss。其中hh表示小时,mm表示分,ss表示秒。
【返回值类型】 字符型
29.日期时间函数
【函数格式】 ?datetime()
【函数功能】 返回当前系统日期与时间。
【返回值类型】 字符型
30.年函数
【函数格式】 ?year(<日期表达式>)
【函数功能】 返回<日期表达式>的年的数值,返回的年用四位数字表示
【返回值类型】 数值型
eg:?year(date()) 2007 ****系统当前日期为2007-07-24
31.月函数
【函数格式】 ?month(<日期表达式>)
【函数功能】 返回<日期表达式>的月的数值
【返回值类型】 数值型
eg:?month(date()) 7 ****系统当前日期为2007-07-24
32.月函数
【函数格式】 ?cmonth(<日期表达式>)
【函数功能】 以英文单词形式返回<时间表达式>中的月的数值
【返回值类型】 字符型
eg:?cmonth(date()) July ****系统当前日期为2007-07-24
33.日函数
【函数格式】 ?day(<日期表达式>)
【函数功能】 返回<日期表达式>的日的数值
【返回值类型】 数值型
eg:?day(date()) 24 ****系统当前日期为2007-07-24
34.星期函数
【函数格式】 ?dow(<日期表达式>)
或?cdow(<日期表达式>)
【函数功能】 返回<日期表达式>对应的当天星期几
【返回值类型】 数值型 字符型
eg:?dow(date()) 3 ****系统当前日期为2007-07-24
?cdow(date()) Tuesday ****系统当前日期为2007-07-24
35.时函数
【函数格式】 ?hour(<时间日期表达式>)
【函数功能】 返回<时间日期表达式>的时的数值
【返回值类型】 数值型
eg:?hour(datetime()) 13 *****系统当前时间为13:26:46
36.分函数
【函数格式】 ?minute(<时间日期表达式>)
【函数功能】 返回<时间日期表达式>的分的数值
【返回值类型】 数值型
eg:?minute(datetime()) 26 *****系统当前时间为13:26:46
37.秒函数
【函数格式】 ?sec(<时间日期表达式>)
【函数功能】 返回<时间日期表达式>的秒的数值
【返回值类型】 数值型
eg:?sec(datetime()) 46 *****系统当前时间为13:26:46
④、转换函数
38.数值转换为字符函数
【函数格式】 ?str(<数值表达式>,[,<长度>[,<小数位数>]])
【函数功能】 把<数值表达式>的值转换为字符串
【使用说明】 ①.<数值表达式>指定被转换的数据。<长度>指定转换后字符串的总长度,长度的缺省值为10。<小数位数>指定转换后允许保留的小数位数
②.如果“长度”大于<数值表达式>的字符个数,在字符前面用空格补齐;如果“长度”小于整数部分的数字长度且不指定<小数位数>,输出一串星号(*)。
③.如果不指定<小数位数>,那么只返回<数值表达式>的整数部分,若<数值表达式>有小数部分则进行四舍五入。若指定<小数位数>,则返回指定的小数位数,并按该有效位数进行四舍五入。长度的缺省值为10
【返回值类型】 字符型
eg:?str(5664) 5664
?str(5664.25) 5664
?str(1357.246,6,2) 1357.2
?str(1357.246,8,2) 1357.25
?str(1357.246) 1357
?str(1357.246,3) ***
39.字符转换为数值函数
【函数格式】 ?val(<字符表达式>)
【函数功能】 <字符表达式>指定被转换的字符型文字。val()函数从左到右依次转换,遇到非数字字符就停止转换
【返回值类型】 数值型
eg:?val(”125.587”) 125.59
?val(”246xs35”) 246.00
?val(”xs135”) 0.00
40.字符转换为日期函数
【函数格式】 ?ctod(<字符表达式>)
【函数功能】 把字符型日期转换为日期型数据
【使用说明】 <字符表达式>指定被转换的字符型数据
【返回值类型】 日期型
eg:?ctod(”06/10/2007”) 06/10/07
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |