【问题标题】:Migrating PostgreSQL into Oracle, Boolean compatibility将 PostgreSQL 迁移到 Oracle,布尔兼容性
【发布时间】:2017-07-23 21:17:29
【问题描述】:

我有一张名为Table A 的表,它有三个字段aa ab acac 在 PostgreSQL 中是 Boolean,而在迁移到 oracle db 时,我已经做到了 Number(1)。但在后端代码中,我编写了类似SELECT * FROM A where ac = true 的SQL 查询。 在不更改 SQL 查询的情况下,我想从 oracle db 获取数据。请让我知道这是否可能。如果可能的话,我应该采用哪种方法。

【问题讨论】:

  • 我怀疑不更改查询是否可行。您将收到语法错误“无效标识符”。 true 可能是 Postgre 中的布尔值;在 Oracle 中它没有特殊含义,因此解析器会将其视为标识符(列名或别名)。为什么需要运行 SQL 查询而不进行更改?如果您从 Postgre 迁移到 Oracle,您应该期望某些查询必须适应 Oracle。
  • 我想在 PostgreSQL 和 Oracle DB 上运行应用程序。像MySQL 一样,它会自动将布尔值转换为 1/0。我们可以在 oracle DB 中这样实现吗?
  • 不可能。 Oracle 不支持 SQL 表达式中的布尔值。这只有在 Postgres 中不使用布尔值而使用整数时才有可能。
  • 改代码就行了
  • 有什么破解方法吗??

标签: java oracle postgresql database-migration ojdbc


【解决方案1】:

您将不得不更改 SQL(代码)。没有其他办法。 Oracle SQL 不支持布尔值。

【讨论】:

    猜你喜欢
    • 2019-10-16
    • 1970-01-01
    • 2016-08-22
    • 2020-02-15
    • 1970-01-01
    • 2012-04-05
    • 1970-01-01
    • 1970-01-01
    • 2018-09-14
    相关资源
    最近更新 更多