use*_*784 5 postgresql sqldatatypes
我们正在将现有的 Oracle 数据库迁移到 Postgres。到目前为止,我发现 和VARCHAR2都不NUMBER兼容,但VARCHAR和NUMERIC分别具有等效项。
然而,在我们的架构中,我还可以看到我们正在使用定义一些数据类型VARCHAR2(31 CHAR)。将此更改为VARCHAR(31 CHAR)与 Postgres 不兼容,因为它会在 CHAR 部分上产生语法错误。是否有使用 Postgres 12 的等效方法来定义它?
小智 12
Postgres 在声明列的最大长度时不区分“字符长度”和“字节长度” varchar。
限制始终指定为字符数。
VARCHAR2(31 CHAR)所以 Postgres相当于Oracle 的功能VARCHAR(31)。
然而,Oracle 的VARCHAR2(31 byte).