mysql轉換類型、類型轉換、查詢結果類型轉換mysql
1、問題來源sql
數據庫一張表的主鍵id設爲了自增,那就是int型的,可是其餘表的關聯字段又設置成了字符串!數據庫
並且已經開發了好久才發現問題,既然出現了問題確定須要解決函數
如圖spa
很明顯id是不同的,花了點時間查找相關資料3d
mysql的查詢機制 ,當兩邊的類型不一致時會有隱式轉型(固然這個是不靠譜的),會自動從左往右第一個字母開始轉爲0相加,code
因而這條sql就變成了blog
select * from tb_line_new WHERE id = 9+0+0+0+0+0、、、、、;開發
2、網上不少人指出了問題 ,可是沒有給出解決方案,這很可恥,也很浪費別人的時間,特別鄙視那些、、、、、、字符串
mysql存在兩個轉型的函數
CAST(字段名 as 須要轉換的類型 )
CONVERT(字段名,須要轉換的類型)。
支持轉型的類型:
二進制,同帶binary前綴的效果 : BINARY 字符型,可帶參數 : CHAR() 日期 : DATE 時間: TIME 日期時間型 : DATETIME 浮點數 : DECIMAL 整數 : SIGNED 無符號整數 : UNSIGNED
再次查詢結果正常