写程序这么多年,近几天才发现,向 Oracle 数据库表中,保存空字符串 '' ,结果成了 null. 由于数据库数值 null 的比较.判断,与空字符串 '' 存在差异.一不留神,代码中留下了 bug ,期望保存成空字符串 '' ,结果成了 null,SQL where 条件的结果 (a1.dls = a2.dls),与预想的不同(两个 null 不能用 = 进行比较,而两个空字符串 '' 可以用=进行比较),导致查询结果数据也不同. 查网上资料,发现 Oracle 在空字符串 '' 的处理上…