【发布时间】:2019-03-15 13:52:00
【问题描述】:
有针对 Oracle 数据库运行的旧版软件。我试图将它推广到 Docker 测试中,所以我准备了一个带有数据库模式的 PostgreSQL 映像。现在我正在尝试针对 Postgres DB 运行该应用程序,但出现以下错误:
org.postgresql.util.PSQLException: ERROR: function to_number(text) does not exist
所以我查看了代码,在一些选择中发现了以下构造:
to_number(to_char({0},'HH24MI')) <= to_number(to_char({1},'HH24MI'))
to_number(to_char({0},'HH24MI')) > to_number(to_char({1},'HH24MI'))
由于我不是数据库专家,我假设这个TO_NUMBER 是一个特定于Oracle 的函数。在这种情况下,它作为过滤器返回指定时间范围内的记录。
有没有办法我可以简单地将这个TO_NUMBER 函数替换为ANSI SQL 中的一些类似函数?
【问题讨论】:
-
CAST(... AS INT)
标签: oracle postgresql ansi-sql