mysql – SQL:如何使独立于DB的concant查询

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

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

> MySQL使用“CONCAT(smth,smth)”
> SQLite使用“smth || smth”.

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

我也可以在我的java方法中添加一个参数,一个包含SQL查询的方法,知道我是使用MySQL还是SQLite,但我真的不喜欢这个最后的解决方案.

你们有没有想过如何建立一个独立的concat运算符?或任何其他想法?

谢谢.

最佳答案 您可以使用mysql端的模式
PIPES_AS_CONCAT来创建||表现与sqlite相似.有关其他信息,另请参见
this article

点赞