函数详解
统计函数
COUNT(<字段列表>)
此函数返回数据表中满足筛选条件的记录数。参数<字段列表>可省,此时等价于”count(*)”。
SUM(<数值型或货币型字段名>)
此函数返回数据表中满足筛选条件的记录指定字段值之和。参数所引用的字段必须是数值型或者货币型。
AVG(<数值型或货币型字段名>)
此函数返回数据表中满足筛选条件的记录指定字段值之平均值。参数所引用的字段必须是数值型或者货币型。
MAX(<数值型或货币型字段名>)
此函数返回数据表中满足筛选条件的记录指定字段最大值。参数所引用的字段必须是数值型或者货币型。
MIN(<数值型或货币型字段名>)
此函数返回数据表中满足筛选条件的记录指定字段最小值。参数所引用的字段必须是数值型或者货币型。
数值(含货币)函数
FLOOR(<数值表达式>)
此函数返回数值表达式的整数部分。例如:FLOOR(125.34) 返回结果为:125。参数类型必须是数值型或者货币型。
ROUND(<数值表达式>,整数)
此函数整数部分规定保留的小数点位数。例如:ROUND (125.256,2) 返回结果为:125.26。
RAND
返回一个0至1之间随机数。
ABS(<数值表达式>)
此函数返回数值表达式的绝对值。例如:ABS (-125) 返回结果为:125。参数类型必须是数值型或者货币型。
日期表达式
YEAR(<日期表达式>)
此函数返回日期表达式的年份值。例如:YEAR(#2007.1.28#) 返回结果为:2007。
MONTH(<日期表达式>)
此函数返回日期表达式的月份值。例如:MONTH(#2007.1.28#) 返回结果为:1。
DAY(<日期表达式>)
此函数返回日期表达式的天数。例如:DAY(#2007.1.28#) 返回结果为:28。
QUARTER(\<日期表达式>)
此函数返回日期表达式的季度值。例如:QUARTER(#2007.1.28#) 返回结果为:1。
WEEK(<日期表达式>)
此函数返回日期表达式的周数。例如:WEEK(#2007.1.28#) 返回结果为:4。
DAYOFWEEK(<日期表达式>)
此函数返回日期表达式的星期数。注:星期日返回1,星期一返回2,依次类推。 例如:DAYOFWEEK (#2007.1.28#) 返回结果为:1
HOUR(<日期表达式>)
此函数返回日期表达式的小时数。例如:HOUR(#2007.1.28 09:59:42#) 返回结果为:9
MINUTE(<日期表达式>)
此函数返回日期表达式的分钟数。例如:MINUTE(#2007.1.28 09:59:42#) 返回结果为:59。
SECOND(<日期表达式>)
此函数返回日期表达式的秒数。例如:SECOND(#2007.1.28 09:59:42#) 返回结果为:42。
THISDATE
此函数返回当前日期。
THISYEAR
此函数返回当前年份值。
THISQUARTER
此函数返回当前季度值。
THISMONTH
此函数返回当前月份值。
THISWEEK
此函数返回当前周数。
THISDAYOFWEEK
此函数返回当前星期数。注:星期日返回1,星期一返回2,依次类推
THISHOUR
此函数返回当前时间小时部分。
THISMINUTE
此函数返回当前时间分钟部分。
THISSECOND
此函数返回当前时间秒部分。
YEARBETWEEN(<日期表达式1>,<日期表达式2>)
此函数返回日期表达式1到日期表达式2的年份值。例如:YEARBETWEEN(#2005.07.03#,#2007.07.28#) 返回结果为:2。
MONTHBETWEEN(<日期表达式1>,<日期表达式2>)
此函数返回日期表达式1到日期表达式2的月份值。例如:MONTHBETWEEN(#2007.01.28#,#2007.07.28#) 返回结果为:6。
DAYBETWEEN(<日期表达式1>,<日期表达式2>)
此函数返回日期表达式1到日期表达式2的天数。例如:DAYBETWEEN(#2007.01.03#,#2007.01.28#) 返回结果为:25。
QUARTERBETWEEN(<日期表达式1>,<日期表达式2>)
此函数返回日期表达式1到日期表达式2的季度值。例如:QUARTERBETWEEN(#2007.01.03#,#2007.07.28#) 返回结果为:2。
WEEKBETWEEN(<日期表达式1>,<日期表达式2>)
此函数返回日期表达式1到日期表达式2的周数。例如:WEEKBETWEEN(#2007.01.03#,#2007.01.28#) 返回结果为:3。
HOURBETWEEN(<日期表达式1>,<日期表达式2>)
此函数返回日期表达式1到日期表达式2的小时值。
例如:HOURTWEEN(#2007.01.03 09:59:42#,#2007.01.24 10:59:42#) 返回结果为:1
MINUTEBETWEEN(<日期表达式1>,<日期表达式2>)
此函数返回日期表达式1到日期表达式2的分钟值。
例如:MINUTEBETWEEN(#2007.01.03 09:59:42#,#2007.01.24 10:59:42#) 返回结果为:60
SECONDBETWEEN (<日期表达式1>,<日期表达式2>)
此函数返回日期表达式的秒部分 例如:SECONDBETWEEN(#2007.1.28 09:59:42#) 返回结果为:42
ADDYEAR(<日期表达式>,整数)
此函数返回日期表达式增加指定年数后的日期值。例如:ADDYEAR(#2005.07.03#,2) 返回结果为:#2007.07.03#。
ADDMONTH(<日期表达式>,整数)
此函数返回日期表达式增加指定月数后的日期值。例如:ADDMONTH(#2007.07.03#,2) 返回结果为:#2007.09.03#。
ADDDAY(<日期表达式>,整数)
此函数返回日期表达式增加指定日数后的日期值。例如:ADDDAY(#2005.07.03#,2) 返回结果为:#2005.07.05#。
ADDQUARTER(<日期表达式>,整数)
此函数返回日期表达式增加指定季节数后的日期值。例如:ADDQUARTER(#2007.01.03#,2) 返回结果为:#2007.07.03#。
ADDWEEK(<日期表达式>,整数)
此函数返回日期表达式增加指定周数后的日期值。例如:ADDWEEK(#2007.01.03#,3) 返回结果为:#2007.01.24#。
ADDHOUR(<日期表达式>,整数)
此函数返回日期表达式增加指定小时后的日期值。例如:ADDHOUR(#09:59:42#,1) 返回结果为:#10:59:42#。
ADDMINUTE(<日期表达式>,整数)
此函数返回日期表达式增加指定分钟后的日期值。例如:ADDMINUTE(#09:59:42#,2) 返回结果为:#10:01:42#。
ADDSECOND (<日期表达式>,整数)
此函数返回日期表达式增加指定秒后的日期值。例如:ADDSECOND (#09:59:42#,1) 返回结果为:#09:59:43#
字符串函数
CONCAT(<字符串表达式1>,<字符串表达式2>,...,<字符串表达式n>)
此函数连接多个字符串。例如:CONCAT(“abc”,”def”,”g”) 返回结果为:”abcdefg”
TRIM(<字符串表达式>)
此函数截取字符串表达式左右两边多余空格。例如:TRIM(“ abc “) 返回结果为:”abc”。
LTRIM(<字符串表达式>)
此函数截取字符串表达式左边多余空格。例如:LTRIM(“ abc “) 返回结果为:”abc “。
RTRIM(<字符串表达式>)
此函数截取字符串表达式左边多余空格。例如:RTRIM(“ abc “) 返回结果为:” abc”。
SUBSTR(<字符串表达式>,起始位,长度>)
此函数返回字符串表达式从[起始位]开始共[长度]个字符的子串。例如:SUBSTR(“abcd”, 2, 2) 返回结果为:”bc”。
STRLEN(<字符串表达式>)
此函数返回字符串表达式所包含的字符个数。例如:STRLEN(“abcd你好”) 返回结果为:6
LEFT(<字符串表达式>,长度>)
此函数返回字符串表达式左边开始共[长度]个字符的子串。例如:LEFT(“abcd你好”, 5) 返回结果为:”abcd你”。
RIGHT(<字符串表达式>,长度>)
此函数返回字符串表达式右边开始共[长度]个字符的子串。例如:左串(“abcd你好”, 3) 返回结果为:”d你好”。
STRPOS(<字符串表达式1>,<字符串表达式2>)
此函数返回字符串表达式1中首次出现字符串表达式2的位置,字符位置从1开始计数,未搜索到时返回0。 例如:STRPOS(“abcd你好”, “bcd”) 返回结果为:2
REPLACE(<待搜索的字符串表达式>,<待查找的字符串表达式>,<替换用的字符串表达式>)
此函数返回用替换用的字符串表达式替换待搜索的字符串表达式中出现的所有待查找的字符串表达式。 例如:REPLACE(“abcdefghicde”,”cde”,”xxx”) 返回结果为:abxxxfghixxx
REG(<字符串表达式>,<正则表达式>)
此函数返回字符串表达式是否满足正则表达式规则,满足返回1,否则返回0。例如:REG(“fo\no”, “\^fo\no$”) 返回结果为:1
PINYINQUANMA(<字符串表达式>)
返回<字符串表达式>对应的拼音。 例如:PINYINQUANMA(“中国”),返回结果为:zhongguo
PINYINJIANMA(<字符串表达式>)
返回<字符串表达式>对应的拼音简称。 例如:PINYINJIANMA(“中国”),返回结果为:zg
集合函数
SET(<表达式1>,<表达式2>,<表达式3>)
例如:集合(1,2,3,4),集合(”abc”,”cde”,”efg”)。
转换函数
STRTODATETIME (<字符串表达式>)
把字符串表达式转换为日期型。
STRTOFLOAT(<字符串表达式>)
把字符串表达式转换为数值型。
FLOATTOSTR(<数值表达式>)
把数值表达式转换为字符型。
FLOATTODATETIME(<数值表达式>)
把数值表达式转换为日期型。
DATETIMETOSTR(<日期表达式>)
把日期表达式转换为字符型。
类型不定函数
IF THEN [ELSE] END
例如:IF 商品=“牛奶” THEN 0.02 ELSE 0.1 END,其中ELSE部分可以省略。
CASE IF cexpr1 THEN expr1 IF cexpr2 THEN expr2 [ELSE exprn] END
例如:CASE IF 商品=“牛奶” THEN 0.02
IF 商品=“面包” THEN 0.015
IF 商品=“电视” THEN 0.15
ELSE 0.1 END
GREATER (表达式1,表达式2)
返回表达式1、表达式2中的较大者。
LESS (表达式1,表达式2)
返回表达式1、表达式2中的较小者。
系统函数
LOGIN_UNIT
返回当前单位名称。
LOGIN_USER
返回当前登录系统的用户姓名。
LOGIN_DEPT
返回当前登录系统的用户所在的部门名称。
LOGIN_PRIV
返回当前登录系统的用户所在的角色名称。
WRITE_DEPT
返回当前数据的创建者所在部门名称。
WRITER
返回当前数据的创建者姓名。
WRITETIME
返回当前数据的创建日期。
SYSDATE
返回系统时间戳。
LOGIN_USER_ID
返回当前登录用户USER_ID。
LOGIN_DEPT_ID
返回当前登录用户所属部门DEPT_ID。
LONG_DEPT_NAME
返回当前登录用户所属部门长部门名称,例如:分公司一/财务部。
LOGIN_OTHER_PRIV
返回当前登录用户辅助角色ID。
LOGIN_UID
返回当前登陆用户UID。
CUR_GEOLOCATION
返回当前地理位置。
常量
真
假
空
#2007.1.28#:
返回。
#1.28#:
返回本年1月28日。注意:日期常量用”#” 引起来。
”张三”
返回字符常量张三。注意:字符常量用”““(英文半角双引号)引起来。