# 隐式数据类型转换的分析

+ 为什么 TiDB 要对 **k** 字段进行 cast 隐式数据类型转换,而不是把等号运算符右边的数字 1 隐式数据类型转换为字符串'1'呢?

![left](./student-guide/diagram/01-14-1.png)

-----------------------------------------------------------------------------------------

你可能会问，上面的例子中数据库为什么要对 k 字段进行 cast 隐式数据类型转换，而不是把等号运算符右边的数字 1 隐式数据类型转换为字符串'1'呢？那样不就可以用到索引了么，这是因为有许多不同的字符串可以转换为数字 1，例如 '1'、'01'、 或 ' 1’等：

（略）

数据库不知道该将 1 转化为哪个字符串，所以就不会将数字隐式转化为字符串。