当日期或时间范例与字符串进行比较时,MySQL会实验将字符串转换为日期或时间范例。
比方,SELECT * FROM users WHERE birthday = '1990-01-01';中,字符串'1990-01-01'会被隐式转换为日期范例,以便与birthday字段(假设为日期范例)进行比较。
浮点数和整数范例的隐式范例转换
当一个浮点数和一个整数进行比较或计算时,MySQL会将整数转换为浮点数。
比方,SELECT * FROM products WHERE price > 10;中,整数值10会被隐式转换为浮点数范例,以便与price字段(假设为浮点数范例)进行比较。
NULL值的隐式范例转换:
当一个NULL值与其他数据范例进行比较或计算时,MySQL会将其他数据范例隐式转换为NULL
比方,SELECT * FROM products WHERE quantity = NULL;这种比较通常不会返回任何结果,因为NULL与任何值的比较结果都是未知的(UNKNOWN),而不是TRUE或FALSE。精确的做法是使用IS NULL或IS NOT NULL来检查NULL值。
布尔范例的隐式范例转换