2015-12-03 22 views
3

在CONCAT中使用變量是否存在任何已知問題,或者我在下面的查詢中犯了一個錯誤?與CONBAT中的變量一起使用時,MySQL CONCAT返回錯誤結果

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

預期結果爲:2015- 2016年,但奇怪的是它返回

2015F201 

我測試了使用和不使用變量許多其他變化,它將按預期工作不變量,但返回similiar「意外」的結果當與變量一起使用時。

+6

我得到'2015-2016',您使用的是哪個版本和平臺? – golimar

+0

我的版本是5.5.46-0ubuntu0.14.04.2 – endo64

+0

它也適用於我,甚至可以使用不同的默認排序規則。 – Kickstart

回答

2

我使用DBeaver作爲SQL客戶端,它在某種程度上認爲,該查詢的結果是二進制的:

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

,並錯誤地顯示它:2015F201(不完全十六進制)

當我改變Preferences窗口中的設置,Common/Result Sets/Binaries/Binary Data formatter to String,它會正確顯示。