【问题标题】:SQL: How to make a concant query independent of the DBSQL:如何进行独立于数据库的连续查询
【发布时间】:2013-08-23 13:48:38
【问题描述】:

我需要在一个 SQL 语句中连接两个字段,并且我在使用 JDBC 的 Java 应用程序中对 MySQL 和 SQLite 使用相同的语句。

事实证明 MySQL 和 SQLite 都有不同且不兼容的 concat 运算符:

  • MySQL 使用“CONCAT(smth, smth)”

  • SQLite 使用“smth || smth”。

到目前为止,我已经设法对两个 DB 使用相同的句子,所以现在我需要一种方法来找到独立于 MySQL 和 SQLite 的 concat 运算符;或者在我的 java 应用程序中动态检测该语句是否将在 MySQL 或 SQLite 中执行。

我还可以在我的 java 方法中添加一个参数,该方法包含 SQL 查询,以了解我使用的是 MySQL 还是 SQLite,但我不太喜欢最后一个解决方案。

你们知道如何制作一个独立的 concat 运算符吗?或任何其他想法?

谢谢。

【问题讨论】:

  • 我记得为这类事情(mysql 和 postgresql)编写了不同的 PLSQL/任何程序,但后来我开始将该特定任务切换到客户端代码。从那以后我变得更快乐了。
  • @user2256799。你能完成你想要的吗?

标签: mysql sqlite concat


【解决方案1】:

你也许可以在 mysql 端使用模式PIPES_AS_CONCAT 来完成 ||行为类似于 sqlite。另请参阅this article 了解更多信息

【讨论】:

    猜你喜欢
    • 2017-05-02
    • 1970-01-01
    • 1970-01-01
    • 2018-01-28
    • 1970-01-01
    • 1970-01-01
    • 2011-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多