MySQL數據類型隱式轉換規則

  1. 兩個參數至少有一個是NULL 時,比較的結果也是NULL,例外是使用 <=>對兩個 NULL做比較時會返回 1,這兩種情況都不需要做類型轉換
  2. 兩個參數都是字符串,會按照字符串來比較,不做類型轉換
  3. 兩個參數都是整數,按照整數來比較,不做類型轉換
  4. 十六進制的值和非數字做比較時,會被當做二進制串
  5. 有一個參數是 TIMESTAMPDATETIME,並且另外一個參數是常量,常量會被轉換爲TIMESTAMP
  6. 有一個參數是 DECIMAL類型,如果另外一個參數是 DECIMAL或者整數,會將整數轉換爲 DECIMAL後進行比較,如果另外一個參數是浮點數,則會把 DECIMAL轉換爲浮點數進行比較
  7. 所有其他情況下,兩個參數都會被轉換爲浮點數再進行比較

【數據類型隱式轉換官方文檔】

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章