MySQL数据类型隐式转换规则

  1. 两个参数至少有一个是NULL 时,比较的结果也是NULL,例外是使用 <=>对两个 NULL做比较时会返回 1,这两种情况都不需要做类型转换
  2. 两个参数都是字符串,会按照字符串来比较,不做类型转换
  3. 两个参数都是整数,按照整数来比较,不做类型转换
  4. 十六进制的值和非数字做比较时,会被当做二进制串
  5. 有一个参数是 TIMESTAMPDATETIME,并且另外一个参数是常量,常量会被转换为TIMESTAMP
  6. 有一个参数是 DECIMAL类型,如果另外一个参数是 DECIMAL或者整数,会将整数转换为 DECIMAL后进行比较,如果另外一个参数是浮点数,则会把 DECIMAL转换为浮点数进行比较
  7. 所有其他情况下,两个参数都会被转换为浮点数再进行比较

【数据类型隐式转换官方文档】

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