Skip to content

SQL功能对比

因为Ignite 3 使用了Calcite SQL引擎,所以很多功能发生了变化,大多数功能无需执行其他改动即可迁移,但是某些功能还是需要一些改动才能运行。

1.更改的函数

Ignite 3 中更改了以下功能,它们通过细微的更改就可以继续使用。

Ignite 2Ignite 3备注
DAY_OF_MONTHDAYOFMONTH该函数被重命名。
DAY_OF_WEEKDAYOFWEEK该函数被重命名。
DAY_OF_YEARDAYOFYEAR该函数被重命名。
IS_JSON valueIS JSON [VALUE]函数语法发生了变化,功能没变。
ISNULLNVL该函数被重命名。
INSTR(a, b)POSITION (b IN a)函数名和语法发生了变化,功能没变。
RANDOM_UUIDRAND_UUID该函数被重命名。

2.更改的数据类型

Ignite 3 中更改了以下数据类型,它们通过细微的更改就可以继续使用。

Ignite 2Ignite 3备注
BOOLEANBOOLEAN仅支持truefalse值。

3.删除的函数

Ignite 3 中删除了以下函数,请按照以下建议调整代码。

Ignite 2备注
BITAND目前没有等效的。
BITGET目前没有等效的。
BITOR目前没有等效的。
BITXOR目前没有等效的。
BIT_AND目前没有等效的。
BIT_OR目前没有等效的。
COMPRESS目前没有等效的。
CONVERT目前没有等效的。
CURRENT_TIME目前没有等效的。
DECRYPT目前没有等效的。
ENCRYPT目前没有等效的。
EXPAND目前没有等效的。
FIRSTVALUE目前没有等效的。
FORMATDATETIMECAST (datetimeval AS VARCHAR FORMAT 'format-string')替代。
GROUP_CONCAT目前没有等效的。
JSON_MODIFY目前没有等效的。
LASTVALUE目前没有等效的。
LOG目前没有等效的。
PARSEDATETIMECAST (string AS datetime-type FORMAT 'format-string')替代。
ROUNDMAGIC目前没有等效的。
SECURE_RAND目前没有等效的。
STDDEV_POP目前没有等效的。
STDDEV_SAMP目前没有等效的。
VAR_POP目前没有等效的。
VAR_SAMP目前没有等效的。
ZERO目前没有等效的。

4.直接等效的函数

以下函数在 Ignite 3 中直接等效,无需任何修改即可正常运行:

  • ABS
  • ACOS
  • ASCII
  • ASIN
  • ATAN
  • ATAN2
  • AVG
  • CAST
  • CBRT
  • CEIL
  • CEILING
  • CHAR_LENGTH
  • CHR
  • COALESCE
  • CONCAT
  • COS
  • COSH
  • COT
  • COUNT
  • CURRENT_DATE
  • DATEDIFF
  • DAYNAME
  • DECODE
  • DEGREES
  • DIFFERENCE
  • EXP
  • EXTRACT
  • FLOOR
  • FROM_BASE64
  • GREATEST
  • HOUR
  • INITCAP
  • JSON_ARRAY
  • JSON_OBJECT
  • JSON_QUERY
  • JSON_VALUE
  • LEFT
  • LENGTH
  • LN
  • LOG10
  • LOWER
  • LTRIM
  • MAX
  • MD5
  • MIN
  • MINUTE
  • MOD
  • MONTH
  • MONTHNAME
  • NVL
  • OCTET_LENGTH
  • PI
  • POSITION
  • POWER
  • QUARTER
  • RADIANS
  • RAND
  • REPEAT
  • REPLACE
  • REVERSE
  • RIGHT
  • ROUND
  • RTRIM
  • SECOND
  • SHA1
  • SIGN
  • SIN
  • SINH
  • SOUNDEX
  • SPACE
  • SQRT
  • SUBSTR
  • SUBSTRING
  • SUM
  • TAN
  • TANH
  • TIMESTAMPADD
  • TIMESTAMPDIFF
  • TO_BASE64
  • TRANSLATE
  • TRIM
  • TRUNCATE
  • UPPER
  • WEEK
  • YEAR

18624049226