Qrlew/qrlew

implement new functions

vserret opened this issue · 0 comments

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 where comparisonOperator may be EQ | 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)+)