mysql查詢類型轉換問題


    mysql轉換類型、類型轉換、查詢結果類型轉換

   一、問題來源

          數據庫一張表的主鍵id設為了自增,那就是int型的,但是其他表的關聯字段又設置成了字符串!

         而且已經開發了很久才發現問題,既然出現了問題肯定需要解決

       如圖

    

     很明顯id是不一樣的,花了點時間查找相關資料

    mysql的查詢機制 ,當兩邊的類型不一致時會有隱式轉型(當然這個是不靠譜的),會自動從左往右第一個字母開始轉為0相加,

   於是這條sql就變成了

   select  * from tb_line_new WHERE  id = 9+0+0+0+0+0、、、、、;

 

  二、網上很多人指出了問題 ,但是沒有給出解決方案,這很可恥,也很浪費別人的時間,特別鄙視那些、、、、、、

         mysql存在兩個轉型的函數

        CAST(字段名  as  需要轉換的類型 )

        CONVERT(字段名,需要轉換的類型)。

        支持轉型的類型:  

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

       再次查詢結果正常

    

 

      

 

  


免責聲明!

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



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