Java堂  


Oracle中的”值和null以及java中的null区别

Filed under: Database — Jet @ 11:24 上午
Tags:
原文出处: Oracle中的”值和null以及java中的null区别
作者: Jet Mah from Java堂
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!

关于三者的区别,我做了一个实验,下面是JUnit的代码片断:

  1. public void testInsert(){ 
  2.         Connection conn = null;
  3.         try{ 
  4.             conn = dbPool.getConnection();
  5.             assertNotNull(conn);
  6.             // sql script
  7.             String sql;
  8.             sql = "INSERT INTO TEST (Note, Name) Values ('''''', '')";
  9.             //sql = "INSERT INTO TEST (Note, Name) Values ('Oracle NULL', NULL)";
  10.             //sql = "INSERT INTO TEST (Note, Name) Values ('Java null', " + null + ")";
  11.             //sql = "INSERT INTO TEST (Note, Name) Values ('Java null string', '" + null + "')";
  12.             Statement stmt = conn.createStatement();
  13.             stmt.executeUpdate(sql);
  14.         } catch(Exception e){ 
  15.             fail(e.getMessage());
  16.         } finally{ 
  17.             if(conn != null) 
  18.                 try { conn.close();} catch (SQLException e) {} 
  19.         } 
  20.     }

依次执行上面代码中的四个sql语句,然后打开SQL*Plus,执行查询

  1. select id from test where name is null;

结果:

Note Name
——————————————————————————–

Oracle NULL
Java null

执行

  1. select id from test where name is not null;

结果:

Note Name
——————————————————————————–
Java null string null

没有评论 »

还没有评论呢。

留下评论