【问题标题】:MySQL CONCAT returns incorrect result when used with variable in DbeaverMySQL CONCAT 在 Dbeaver 中与变量一起使用时返回不正确的结果
【发布时间】:2015-12-03 14:27:10
【问题描述】:

在 CONCAT 中使用变量是否存在任何已知问题,或者我在以下查询中是否出错?

set @m := '2016';
select concat('2015','-',@m);

预期结果是 2015-2016,但奇怪的是它返回

2015F201

我在使用和不使用变量的情况下测试了许多其他变体,它在没有变量的情况下按预期工作,但在使用变量时返回类似的“意外”结果。

【问题讨论】:

  • 我得到'2015-2016',你使用的是哪个版本和平台?
  • 我的版本是5.5.46-0ubuntu0.14.04.2
  • 它也适用于我,甚至可以使用不同的默认排序规则。
  • 很奇怪,我已经尝试了几个小时没有运气:(
  • @endo64 。 . .回答您自己的问题并接受答案。这似乎是一个合理的问题和一个有趣的答案。您也可以标记问题 DBeaver。

标签: mysql sql string-concatenation dbeaver


【解决方案1】:

我使用 DBeaver 作为 SQL 客户端,它以某种方式认为该查询的结果是二进制的:

select concat('2015','-',@m);

并错误显示:2015F201(不完全是十六进制)

当我将“首选项”窗口下的设置,通用/结果集/二进制/二进制数据格式化程序更改为字符串时,它显示正确。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-21
    • 1970-01-01
    相关资源
    最近更新 更多