我有一个这样的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解释原因吗?谢谢