最近在处理有关空值的问题时,突然发现MySQL和Oracle中的显示有些不同。

以下的环境全是在字符界面的sql提示符下获得的,不保证其它情况下也如此。

Oracle的:

 
  
  1. SQL>  select userinfo from tbl where user is null and rownum=1; 

 
  
  1. SQL> select userinfo from tbl where userinfo='null' and rownum=1; 

MySQL的:

 
  
  1. sql>select userinfo from tbl where userinfo is null limit 1; 

 
  
  1. sql>select userinfo from tbl where userinfo='NULL' limit 1; 

 
  
  1. sql>select userinfo from tbl where userinfo='null' limit 1; 

可见两个数据库对空值的显示有所不同,所以在MySQL底下需要特别注意,当你看到列的值是NULL,是不能完全确定是空值还是字符串的。