Java PreparedStatement 跨数据库转换
Java PreparedStatement Cross-DB with casting
我有一个 PreparedStatement 旨在 运行 在 ORACLE 和 MYSQL 上。
但我不知道如何处理 CAST(NULL AS ...)
在 Oracle 上以下工作(但不在 Mysql):
SELECT TIMB_INS,
CAST(NULL AS TIMESTAMP) AS TIMB_CLO
FROM TOPS
在 Mysql 上以下工作(但不在 Oracle 上):
SELECT TIMB_INS,
CAST(NULL AS DATETIME) AS TIMB_CLO
FROM TOPS
(请注意,选择的第一列 "TIMB_INS"、returns 在这两种情况下都是目标数据库类型的正确数据类型,即 Oracle 的 TIMESTAMP 和 MySql 的 DATETIME。 )
有没有办法让它对两者都有效?
IE。我可以通过某种方式使其独立于数据库吗?
谢谢
马可
根据标记,我可以看到您是从一些 java 代码中调用此语句的。有几种方法可以这样做:
我有一个 PreparedStatement 旨在 运行 在 ORACLE 和 MYSQL 上。 但我不知道如何处理 CAST(NULL AS ...)
在 Oracle 上以下工作(但不在 Mysql):
SELECT TIMB_INS,
CAST(NULL AS TIMESTAMP) AS TIMB_CLO
FROM TOPS
在 Mysql 上以下工作(但不在 Oracle 上):
SELECT TIMB_INS,
CAST(NULL AS DATETIME) AS TIMB_CLO
FROM TOPS
(请注意,选择的第一列 "TIMB_INS"、returns 在这两种情况下都是目标数据库类型的正确数据类型,即 Oracle 的 TIMESTAMP 和 MySql 的 DATETIME。 )
有没有办法让它对两者都有效? IE。我可以通过某种方式使其独立于数据库吗?
谢谢 马可
根据标记,我可以看到您是从一些 java 代码中调用此语句的。有几种方法可以这样做: