数字和varchar在IN子句中

时间:2019-05-30 15:04:28

标签: mysql

我有一个这样的SQL:

    select * from tab where content_level IN (0,1,2,3)

content_level定义为varchar。在我的表中,我有4条记录,它们的content_level = 1、2、3和总数分别为

结果是,IN子句不起作用。我有4条记录。我也获得了content_level = total的第一记录。我认为它应该返回0条记录,因为sql和db中的值不具有可比性

如果我这样更改:

     select * from tab where content_level IN ('0', '1','2','3')

它照常工作。

任何人都可以帮助tp解释原因吗?谢谢

0 个答案:

没有答案