为什么连接在 Dbeaver 中不起作用?

Why concatenation does not work in Dbeaver?

使用 Dbeaver,|| 连接不起作用。不得不使用 CONCAT() 代替。 收到输出错误消息:截断不正确的 DOUBLE 值。还有其他人遇到过这个问题吗?

技能水平:初级
编辑:Dbeaver
OS: Windows 7

MariaDB 期望 PIPES_AS_CONCATsql_mode 一起设置,以使用 || 作为连接运算符。

可以通过以下方式检查 sql_mode 的设置:

SELECT @@sql_mode;

可能会出现类似于以下的输出:

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,
ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

请注意,PIPES_AS_CONCAT 未列出,因此可以通过以下方式附加:

SET sql_mode=(SELECT CONCAT(@@sql_mode, ',PIPES_AS_CONCAT'));

然后重新检查 sql_mode 以查看:

root@localhost((none))select @@sql_mode \G
*************************** 1. row ***************************
@@sql_mode: PIPES_AS_CONCAT,ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,
            NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,
            NO_ENGINE_SUBSTITUTION
1 row in set (0.00 sec)

有关 PIPES_AS_CONCAT 的更多信息可以是 found here