4

SQL 文で 2 つのフィールドを連結する必要があります。JDBC を使用する Java アプリで、MySQL と SQLite の両方に同じ文を使用しています。

MySQL と SQLite の両方に異なる連結演算子があり、互換性がないことがわかりました。

  • MySQL は "CONCAT(smth, smth)" を使用します

  • SQLite は "smth || smth" を使用します。

これまでは両方の DB で同じ文を使用できていたので、MySQL と SQLite から独立した連結演算子を見つける方法が必要です。または、文がMySQLまたはSQLiteで実行される場合、私のJavaアプリケーションで動的に検出します。

SQLクエリを含むJavaメソッドにパラメータを追加して、MySQLまたはSQLiteを使用しているかどうかを確認することもできますが、この最後のソリューションはあまり好きではありません。

独立した連結演算子を作成する方法について何か考えがありますか? または他のアイデアはありますか?

ありがとう。

4

1 に答える 1

2

|| を作成するために、mysql 側でモードPIPES_AS_CONCATを使用して実行できる場合があります。sqlite と同じように動作します。追加情報については、この記事も参照してください

于 2013-08-21T09:29:30.393 に答える