轉載: 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);
有時候可能要結合使用...