符个数”,则截取到最后一个字符为止。
【返回值类型】 字符型
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,”管理系统”) 100ksw/数据管理系统
?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 **