4949 | expr ' .' TRIM ' (' ' )' # TRIM_fun
5050 | expr ' .' UPPER ' (' ' )' # UPPER_fun
5151 | expr ' .' VALUE ' (' ' )' # VALUE_fun
52- | expr ' .' DATEVALUE ' (' ' )' # DATEVALUE_fun
52+ | expr ' .' DATEVALUE ' (' expr? ' )' # DATEVALUE_fun
5353 | expr ' .' TIMEVALUE ' (' ' )' # TIMEVALUE_fun
5454 | expr ' .' YEAR (' (' ' )' )? # YEAR_fun
5555 | expr ' .' MONTH (' (' ' )' )? # MONTH_fun
@@ -100,12 +100,13 @@ expr:
100100 | expr ' .' ADDHOURS ' (' expr ' )' # ADDHOURS_fun
101101 | expr ' .' ADDMINUTES ' (' expr ' )' # ADDMINUTES_fun
102102 | expr ' .' ADDSECONDS ' (' expr ' )' # ADDSECONDS_fun
103+ | expr ' .' TIMESTAMP ' (' expr? ' )' # TIMESTAMP_fun
103104
104105 | expr ' [' parameter2 ' ]' # GetJsonValue_fun
105106 | expr ' [' expr ' ]' # GetJsonValue_fun
106107 | expr ' .' parameter2 # GetJsonValue_fun
107108
108- // 运算符优先级 开始
109+ // 运算符优先级 开始
109110 | ' (' expr ' )' # Bracket_fun
110111 | ' !' expr # NOT_fun
111112 | expr ' %' # Percentage_fun
@@ -128,7 +129,7 @@ expr:
128129 | expr op = (' &&' | AND ) expr # AndOr_fun
129130 | expr op = (' ||' | OR ) expr # AndOr_fun
130131 | expr ' ?' expr ' :' expr # IF_fun
131- // 运算符优先级 结束
132+ // 运算符优先级 结束
132133
133134 | ARRAY ' (' expr (' ,' expr)* ' )' # Array_fun
134135 | IF ' (' expr ' ,' expr (' ,' expr)? ' )' # IF_fun
@@ -233,7 +234,7 @@ expr:
233234 | TRIM ' (' expr ' )' # TRIM_fun
234235 | UPPER ' (' expr ' )' # UPPER_fun
235236 | VALUE ' (' expr ' )' # VALUE_fun
236- | DATEVALUE ' (' expr ' ) ' # DATEVALUE_fun
237+ | DATEVALUE ' (' expr ( ' , ' expr)? ' ) ' # DATEVALUE_fun
237238 | TIMEVALUE ' (' expr ' )' # TIMEVALUE_fun
238239 | DATE ' (' expr ' ,' expr ' ,' expr (
239240 ' ,' expr (' ,' expr (' ,' expr)?)?
@@ -345,6 +346,7 @@ expr:
345346 | ADDHOURS ' (' expr ' ,' expr ' )' # ADDHOURS_fun
346347 | ADDMINUTES ' (' expr ' ,' expr ' )' # ADDMINUTES_fun
347348 | ADDSECONDS ' (' expr ' ,' expr ' )' # ADDSECONDS_fun
349+ | TIMESTAMP ' (' expr (' ,' expr)? ' )' # TIMESTAMP_fun
348350
349351 | ' [' PARAMETER ' ]' # PARAMETER_fun
350352 | ' [' expr ' ]' # PARAMETER_fun
@@ -567,6 +569,7 @@ parameter2:
567569 | ADDHOURS
568570 | ADDMINUTES
569571 | ADDSECONDS
572+ | TIMESTAMP
570573 | NULL
571574 | PARAMETER ;
572575
@@ -581,7 +584,7 @@ STRING: '\'' ( ~'\'' | '\\\'')* '\''
581584 ;
582585NULL : ' NULL' ;
583586
584- // 逻辑函数
587+ // 逻辑函数
585588IF : ' IF' ;
586589IFERROR : ' IFERROR' ;
587590ISNUMBER : ' ISNUMBER' ;
@@ -598,18 +601,18 @@ OR: 'OR';
598601NOT : ' NOT' ;
599602TRUE : ' TRUE' ;
600603FALSE : ' FALSE' ;
601- // 数学与三角函数
604+ // 数学与三角函数
602605E : ' E' ;
603606PI : ' PI' ;
604607DEC2BIN : ' DEC2BIN' ;
605608DEC2HEX : ' DEC2HEX' ;
606609DEC2OCT : ' DEC2OCT' ;
607- HEX2BIN : ' HEX2BIN' ; // 将十六进制数转换为二进制数
608- HEX2DEC : ' HEX2DEC' ; // 将十六进制数转换为十进制数
609- HEX2OCT : ' HEX2OCT' ; // 将十六进制数转换为八进制数
610- OCT2BIN : ' OCT2BIN' ; // 将八进制数转换为二进制数
611- OCT2DEC : ' OCT2DEC' ; // 将八进制数转换为十进制数
612- OCT2HEX : ' OCT2HEX' ; // 将八进制数转换为十六进制数
610+ HEX2BIN : ' HEX2BIN' ; // 将十六进制数转换为二进制数
611+ HEX2DEC : ' HEX2DEC' ; // 将十六进制数转换为十进制数
612+ HEX2OCT : ' HEX2OCT' ; // 将十六进制数转换为八进制数
613+ OCT2BIN : ' OCT2BIN' ; // 将八进制数转换为二进制数
614+ OCT2DEC : ' OCT2DEC' ; // 将八进制数转换为十进制数
615+ OCT2HEX : ' OCT2HEX' ; // 将八进制数转换为十六进制数
613616BIN2OCT : ' BIN2OCT' ;
614617BIN2DEC : ' BIN2DEC' ;
615618BIN2HEX : ' BIN2HEX' ;
@@ -660,7 +663,7 @@ MULTINOMIAL: 'MULTINOMIAL';
660663PRODUCT : ' PRODUCT' ;
661664SQRTPI : ' SQRTPI' ;
662665SUMSQ : ' SUMSQ' ;
663- // 文本函数
666+ // 文本函数
664667ASC : ' ASC' ;
665668JIS : ' JIS' | ' WIDECHAR' ;
666669CHAR : ' CHAR' ;
@@ -686,7 +689,7 @@ TEXT: 'TEXT';
686689TRIM : ' TRIM' ;
687690UPPER : ' UPPER' | ' TOUPPER' ;
688691VALUE : ' VALUE' ;
689- // 日期与时间函数
692+ // 日期与时间函数
690693DATEVALUE : ' DATEVALUE' ;
691694TIMEVALUE : ' TIMEVALUE' ;
692695DATE : ' DATE' ;
@@ -707,7 +710,7 @@ EOMONTH: 'EOMONTH';
707710NETWORKDAYS : ' NETWORKDAYS' ;
708711WORKDAY : ' WORKDAY' ;
709712WEEKNUM : ' WEEKNUM' ;
710- // 统计函数
713+ // 统计函数
711714MAX : ' MAX' ;
712715MEDIAN : ' MEDIAN' ;
713716MIN : ' MIN' ;
@@ -754,7 +757,7 @@ POISSON: 'POISSON';
754757TDIST : ' TDIST' ;
755758TINV : ' TINV' ;
756759WEIBULL : ' WEIBULL' ;
757- // 增加函数 类C# 方法
760+ // 增加函数 类C# 方法
758761URLENCODE : ' URLENCODE' ;
759762URLDECODE : ' URLDECODE' ;
760763HTMLENCODE : ' HTMLENCODE' ;
@@ -800,10 +803,11 @@ ADDDAYS:'ADDDAYS';
800803ADDHOURS :' ADDHOURS' ;
801804ADDMINUTES :' ADDMINUTES' ;
802805ADDSECONDS :' ADDSECONDS' ;
806+ TIMESTAMP :' TIMESTAMP' ;
803807
804808PARAMETER : ([A -Z_ ]| FullWidthLetter)([A -Z0 -9_] | FullWidthLetter)*;
805809PARAMETER2 : ' {' (~(' {' |' }' ))+ ' }'
806- | ' 【' (~(' 【' |' 】' ))+ ' 】'
810+ | ' 【' (~(' 【' |' 】' ))+ ' 】'
807811 | ' #' (~(' #' ))+ ' #'
808812 | ' @' ([A -Z_ ]| FullWidthLetter)([A -Z0 -9_] | FullWidthLetter)*
809813 ;
0 commit comments