社区
基础和管理
帖子详情
这难道是oracle的bug?
gisinfo
2009-06-01 03:39:34
select * from table where a=1 and b<>'中国';
查出的结果为什么为空?
在sqlserver是可以查出一条记录的
数据如下
a b
1
2 中国
...全文
119
15
打赏
收藏
这难道是oracle的bug?
select * from table where a=1 and b'中国'; 查出的结果为什么为空? 在sqlserver是可以查出一条记录的 数据如下 a b 1 2 中国
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fuyou001
2009-06-02
打赏
举报
回复
[Quote=引用 9 楼 gisinfo 的回复:]
在sqlserver中这可以的又是为什么?
[/Quote]
sql server 与oracle 处理 null 的方式不一样!
刚开始还没想起来,在oracle 10g&9i编程艺术这书就有提过
wangsong145
2009-06-02
打赏
举报
回复
[Quote=引用楼主 gisinfo 的帖子:]
select * from table where a=1 and b <>'中国';
查出的结果为什么为空?
在sqlserver是可以查出一条记录的
数据如下
a b
1
2 中国
[/Quote]
在oracle里应该这样写才行:
select * from table where a=1 and (b<>'中国' or b is null)
suncrafted
2009-06-02
打赏
举报
回复
在where 和一般函数中,null是不等于任何任何值,同时null<>null
在分组函数中 null=null,null不等于其他值
liggway
2009-06-02
打赏
举报
回复
只用过oracle,确实null会过滤掉,并且其他函数什么的也是,分组函数除外
阿三
2009-06-02
打赏
举报
回复
SQL> select * from t_04 where a=1 and (b<>'中国' or b is null);
A B
---------- ----------
1
oracle中的null处理与sqlserver会不一样
wflyxiaonian
2009-06-02
打赏
举报
回复
数据库的规范不一样 咱没那水平 找不到人家bug的
gisinfo
2009-06-02
打赏
举报
回复
在sqlserver中这可以的又是为什么?
inthirties
2009-06-01
打赏
举报
回复
[Quote=引用楼主 gisinfo 的帖子:]
select * from table where a=1 and b <>'中国';
查出的结果为什么为空?
在sqlserver是可以查出一条记录的
数据如下
a b
1
2 中国
[/Quote]
a=1的记录 b是null或者是'' 所以b <> '中国' 返回是false, null字段只能用is null和is not null来判断.
inthirties
2009-06-01
打赏
举报
回复
[Quote=引用 4 楼 Robin_Ares 的回复:]
b <>null 和b=null结果一样,都是无记录
null代表不存在,何谈等不等
只能写is null 和 is not null
[/Quote]
正解
gisinfo
2009-06-01
打赏
举报
回复
select * from table where a=1 and (b <>'中国' or b is null);
我当然晓得可以通过这个语句找到我要的结果
我也晓得其实select * from table where b <>'中国'
查出的结果就不包括
a b
1
这一行
在和其他任何条件做与操作都是惘然
但是 在应用程序中我用这个sql(select * from table where a=1 and (b <>'中国' or b is null);
)的话逻辑关系就不对了
sleepzzzzz
2009-06-01
打赏
举报
回复
如楼上所说,oracle对null的处理与SQL Server是完全不一样的,不要把MS那边的一些概念照套过来。
robin_ares
2009-06-01
打赏
举报
回复
b <>null 和b=null结果一样,都是无记录
null代表不存在,何谈等不等
只能写is null 和 is not null
fuyou001
2009-06-01
打赏
举报
回复
b <>'中国'=> b is not null and b <>'中国' 学习
hhuxyb
2009-06-01
打赏
举报
回复
select * from table where a=1 and b <>'中国';
b <>'中国'=> b is not null and b <>'中国'
fuyou001
2009-06-01
打赏
举报
回复
我试了下,在oracle 9iR2里,还真是空
Oracle
jdbc for 11g 最新版 驱动 ojdbc6.jar
Oracle
官方11g 最新版jdbc驱动。 新特性: 1、支持JDK6,支持JDBC 4.0,新的java.sql.SQLXML类型没有被支持,是使用ojdbc6.jar来支持。J2SE 5.0 和 JDBC 3.0 全面支持使用ojdbc5.jar。 2.不再支持
oracle
.jdbc.driver。从9.0.1开始的每个release都推荐使用
oracle
.jdbc。这一天终于到来,在11g中,引用
oracle
.jdbc.driver不再通过编译。 3.j2se 1.2,1.3,1.4不再支持。11R1不再包括这些版本的jar和zip,如果仍然使用这些版本,可以继续使用10gR2的jdbc。 4.11gR1 Thin driver支持AES加密算法,SHA1 hash算法,RADIUS, KERBEROS,SSL认证机制. 5.支持ANYDATE和ANYTYPE类型。这两种类型自9i引入,11R1前,程序员只能通过PL/SQL操作。 6.高级队列支持。11R1提供了访问AQ的高性能接口。 7.支持数据库变更通知。 8.Thin和OCI的数据库启动和关闭。11R1提供了这样的方法来启动和关闭数据库。 9.新的工厂方法。
Oracle
JDBC 11R1
oracle
.jdbc.
Oracle
Connection提供了创建
Oracle
对象的工厂方法。 包括ARRAY, BFILE, DATE, INTERVALDS, NUMBER, STRUCT, TIME,TIMESTAMP,TIMESTAMP等。 ojdbc5.jar: 适用于jdk5 ojdbc6.jar: 适用于jdk6 ***_g.jar 只是用javac -g编译,生成所有调试信息,其它全一样 --------------------------------------------------- 总体讲新版本的JDBC驱动 性能强、很多
bug
被发现并已解决。 我遇到的,之前使用ojdbc14.jar(不记得哪个版本了)批量插入10万条,实际只插入了3万多条,其它的丢失了,换ojdbc6.jar后,一次commit批量插入100万条也OK了。 尽量使用和数据库版本一致的驱动,有
bug
时,换高版本的JDBC驱动试试 。
Oracle
显示中文出现问号(乱码)????
这两天刚刚使用
Oracle
,出现了好多不愉快的事情,下面分享一下我的一点经历: (1)关于软件版本的问题,我到现在还没有解决,欢迎各路大佬、神仙给点建议:
Oracle
11g64位,plsql可视化工具是plsqldev1106x64,plsqldev1207x64也用过,看名字就知道都是64位的。按道理
Oracle
11g64和plsqldev x64搭配是没有问题的,都是64位的,但是这个问...
Oracle
Bug
3807408
Oracle
Bug
3807408
Oracle
数据库问题必知,最全的错误码(
BUG
)和解决方式汇总
Oracle
数据库是企业级应用程序的关键组成部分,但它可能会面临各种
BUG
和故障。在
Oracle
数据库中,“
BUG
”是指软件中的错误或异常,这些问题可能会影响数据库的性能、数据完整性和应用程序的可用性。因此,对
Oracle
数据库中的
BUG
进行及时发现和诊断非常重要。在生产系统中,
Oracle
数据库中的一个小错误可能会导致整个系统崩溃。由于
Oracle
数据库经常处理大量的数据和请求,因此遇到
BUG
的风险也很高。了解数据库中可能存在的
BUG
是企业非常重要的步骤,并及时修复已知的
BUG
以确保系统的正常运行。
One case:Latch free of
oracle
9208 ?
详见博客链接地址: One case:Latch free of
oracle
9208 ?
基础和管理
17,377
社区成员
95,127
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章