Oracle中的”值和null以及java中的null区别
原文出处: Oracle中的”值和null以及java中的null区别
作者: Jet Mah from Java堂
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!
作者: Jet Mah from Java堂
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!
关于三者的区别,我做了一个实验,下面是JUnit的代码片断:
- public void testInsert(){
- Connection conn = null;
- try{
- conn = dbPool.getConnection();
- assertNotNull(conn);
- // sql script
- String sql;
- sql = "INSERT INTO TEST (Note, Name) Values ('''''', '')";
- //sql = "INSERT INTO TEST (Note, Name) Values ('Oracle NULL', NULL)";
- //sql = "INSERT INTO TEST (Note, Name) Values ('Java null', " + null + ")";
- //sql = "INSERT INTO TEST (Note, Name) Values ('Java null string', '" + null + "')";
- Statement stmt = conn.createStatement();
- stmt.executeUpdate(sql);
- } catch(Exception e){
- fail(e.getMessage());
- } finally{
- if(conn != null)
- try { conn.close();} catch (SQLException e) {}
- }
- }
依次执行上面代码中的四个sql语句,然后打开SQL*Plus,执行查询
- select id from test where name is null;
结果:
Note Name
——————————————————————————–
”
Oracle NULL
Java null
执行
- select id from test where name is not null;
结果:
Note Name
——————————————————————————–
Java null string null
没有评论 »
还没有评论呢。