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);

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM