implement new functions
vserret opened this issue · 0 comments
vserret commented
String functions
- upper, lower
- concat
- coalesce
- trim: rtrim, btrim, ltrim
- substring
- substr
- position
- char_length
- encode
- decode
- unhex
- regexp__contains,
- regexp_extract,
- regexp_substr,
- regexp_replace,
- newid,
Date functions:
- CURRENT_DATE | CURRENT_TIME | CURRENT_TIMESTAMP,
- EXTRACT,
- DAYNAME,
- FROM_UNIXTIME,
- UNIX_TIMESTAMP,
- DATE_FORMAT,
- QUARTER,
- DAYOFWEEK | DOW => In the translator MySQL => Postgres, sould be replace by EXTRACT(DOW FROM ..)
- DATETIME_DIFF,
- DATEPART => In the translator SQLServer => Postgres, sould be replace by EXTRACT(... FROM ..)
- DATE
- Cast AS DATE/DATETIME/TIME
Mathematical functions :
- abs,
- ceil, ceiling,
- floor,
- sign,
- sqrt,
- square (SQLServer)
- exp,
- ln, log, log10 (log2 does not exists in Postgres)
- sin, cos, tan,
- asin, acos, atan,
- degrees,
- pi,
- random,
- round,
- power
- Truncate functions : trunc, truncate
- CAST
Boolean expressions
- not:
NOT booleanExpression
- and:
booleanExpression AND booleanExpression
- or:
booleanExpression OR booleanExpression
- comparisons:
expression comparisonOperator expression
wherecomparisonOperator
may beEQ | NEQ | NEQJ | LT | LTE | GT | GTE | NSEQ
- Between:
NOT? BETWEEN expression AND expression
- in:
NOT? IN ( expression (',' expression)* )
- is:
IS NOT? NULL | IS NOT? TRUE | IS NOT? FALSE
- like:
expression LIKE literal
- ilike:
expression OLIKE literal
- iif:
IIF (booleanExpression, expression,expression)
Translator: Specific to SQLServer, equivalent to CASE WHEN ewpr THEN expr else expr END - choose:
CHOOSE (expression (,literal)+)