数据库迁移-国产化-Oracle迁移至GBase8a(函数)

发布于:2023-01-21 ⋅ 阅读:(279) ⋅ 点赞:(0)
  1. 函数
    1. 综述

Oracle中支持数百个函数,从功能分类上大体可以分为单值函数、聚合函数、分析函数、对象函数和模块函数,其中主要的是单值函数。根据处理的数据类型和返回值的不同,单值函数包括数值函数、字符串函数、NLS函数、转换函数、日期时间函数、比较函数、大对象函数、集合函数、层次函数、数据挖掘函数、XML函数、转码函数、NULL相关函数、环境与标识函数。

由于处理对象和应用场景不同,GBase 8a 并未全部支持Oracle的所有函数,以下为整理的部分函数,请GBase8a爱好者 可以参考。

    1. 数值函数

Oracle支持26个数值函数,包括ABS、ACOS、ASIN、ATAN、ATAN2、BITAND、CEIL、COS、COSH、EXP、FLOOR、LN、LOG、MOD、NANVL、POWER、REMAINDER、ROUND (number)、SIGN、SIN、SINH、SQRT、TAN、TANH、TRUNC (number)、WIDTH_BUCKET。

在上述函数中,GBase 8a 不支持的函数包括ATAN2、NANVL、REMAINDER、WIDTH_BUCKET,其它数值函数均支持。

    1. 字符函数

Oracle支持21个字符串函数,包括CHR、CONCAT、INITCAP、LOWER、LPAD、LTRIM、NLS_INITCAP、NLS_LOWER、NLSSORT、NLS_UPPER、REGEXP_REPLACE、REGEXP_SUBSTR、REPLACE、RPAD、RTRIM、SOUNDEX、SUBSTR、TRANSLATE、TREAT、TRIM、UPPER。

在上述函数中,GBase 8a 不支持的函数包括CHR、INITCAP、NLS_INITCAP、NLS_LOWER、NLSSORT、NLS_UPPER、REGEXP_REPLACE、REGEXP_SUBSTR,其它字符串函数均支持。

    1. 转换函数

Oracle支持39个转换函数,包括ASCIISTR、BIN_TO_NUM、CAST、CHARTOROWID、COMPOSE、CONVERT、DECOMPOSE、HEXTORAW、NUMTODSINTERVAL、NUMTOYMINTERVAL、RAWTOHEX、RAWTONHEX、ROWIDTOCHAR、ROWIDTONCHAR、SCN_TO_TIMESTAMP、TIMESTAMP_TO_SCN、TO_BINARY_DOUBLE、TO_BINARY_FLOAT、TO_CHAR (character)、TO_CHAR (datetime)、TO_CHAR (number)、TO_CLOB、TO_DATE、TO_DSINTERVAL、TO_LOB、TO_MULTI_BYTE、TO_NCHAR (character)、TO_NCHAR (datetime)、TO_NCHAR (number)、TO_NCLOB、TO_NUMBER、TO_DSINTERVAL、TO_SINGLE_BYTE、TO_TIMESTAMP、TO_TIMESTAMP_TZ、TO_YMINTERVAL、TO_YMINTERVAL、TRANSLATE ... USING、UNISTR。

GBase 8a 支持CAST、CONVERT、TO_CHAR、TO_DATE等转换函数。

    1. 日期时间函数

Oracle支持25个日期时间函数,包括ADD_MONTHS、CURRENT_DATE、CURRENT_TIMESTAMP、DBTIMEZONE、EXTRACT (datetime)、FROM_TZ、LAST_DAY、LOCALTIMESTAMP、MONTHS_BETWEEN、NEW_TIME、NEXT_DAY、NUMTODSINTERVAL、NUMTOYMINTERVAL、ROUND (date)、SESSIONTIMEZONE、SYS_EXTRACT_UTC、SYSDATE、SYSTIMESTAMP、TO_CHAR (datetime)、TO_TIMESTAMP、TO_TIMESTAMP_TZ、TO_DSINTERVAL、TO_YMINTERVAL、TRUNC (date)、TZ_OFFSET。

在上述函数中,GBase 8a 仅支持ADD_MONTHS、CURRENT_DATE、CURRENT_TIMESTAMP,其它日期时间函数均不支持,但GBase 8a 定义了另外一系列日期时间函数,可以通过语义层的等价变换来实现Oracle中一些日期时间函数的功能,具体请参考GBase 8a SQL手册。

    1. 聚合函数

Oracle 支持 26 个聚合函数,部分可以被 GBase 8a 替换,请大家参考。

GBase 8a 可以等价替换的聚合函数包括AVG,BIT_ADD,BIT_OR,BIT_XOR,COUNT,MAX,MIN,STD,STDDEV ,STDDEV_POP ,STDDEV_SAMP,SUM,VAR_POP,VAR_SAMP,VARIANCE。

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到