问题背景
猿Why在做数据处理的时候,数据库中有一些数据,用数据库客户端查询出来数据看到是“空”的,但是where条件限制=''
和is null
都过滤不到这些数据。
猜想
回想大学时期C语言程序设计课程中学到的ASCII有一部分字符是控制字符,不显示。
验证
看看是不是以控制符开头
select * from tablename where substring(tablename.field, 1,1) between char(0) and char(31)
结论
如果查到数据了,证明猜想就对了!(猿Why碰到的恰巧是这种case)
备注:猿Why用DataGrip做为数据库客户端工具