1. 程式人生 > >mybatis的sql中使用concat查詢結果是亂碼處理

mybatis的sql中使用concat查詢結果是亂碼處理

轉載: https://blog.csdn.net/liuqiang211/article/details/51734163

當mybatis中的sql語句使用concat拼接是 查詢結果是亂碼一般原因是

concat拼接的型別不一樣  一個是數字型別  一個是字元型別 就會出現亂碼

解決方法

select 1 id,'1' pid ,
concat('所有案件','(',cast(count(1) as char),')') name,
'true' isOpen
from zc_busi_oeinfo a  WHERE a.oestatus >0
  UNION
ALL select 2 id,'1' pid , concat('待稽核的案件','(',cast(count(1) as char),')') name, 'true' isOpen from zc_busi_oeinfo a where a.oestatus not IN (6,17) AND a.oestatus >0 UNION ALL select 3 id,'1' pid , concat('已結案','(',cast(count(1) as char),')') name, 'true' isOpen from zc_busi_oeinfo a where a.oestatus =
17

轉載: https://www.cnblogs.com/chenqionghe/p/4675844.html

cast(value as type) 利用cast()指定型別,

MySQL 的CAST()和CONVERT()函式可用來獲取一個型別的值,併產生另一個型別的值。兩者具體的語法如下

就是CAST(xxx AS 型別), CONVERT(xxx,型別)。

可以轉換的型別是有限制的。這個型別可以是以下值其中的一個:

  • 二進位制,同帶binary字首的效果 : BINARY    
  • 字元型,可帶引數 : CHAR()     
  • 日期 : DATE     
  • 時間: TIME     
  • 日期時間型 : DATETIME     
  • 浮點數 : DECIMAL      
  • 整數 : SIGNED     
  • 無符號整數 : UNSIGNED

帶有USING的CONVERT() 被用來在不同的字符集之間轉化資料。在 MySQL中, 自動譯碼名和相應的字符集名稱相同。例如。 這個語句將伺服器的預設字符集中的字串 'abc'轉化為utf8字符集中相應的字串:

SELECT CONVERT('中文' USING utf8);

有時候可能要結合使用...