4

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

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

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

  • SQLite 使用“smth || smth”。

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

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

你们对如何制作独立的 concat 运算符有任何想法吗?或任何其他想法?

谢谢。

4

1 回答 1

2

您也许可以在 mysql 端使用模式PIPES_AS_CONCAT来完成 || 行为类似于 sqlite。另请参阅本文以获取更多信息

于 2013-08-21T09:29:30.393 回答