问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

oracle <>' ' 和 is not NULL的区别?

发布网友 发布时间:2022-04-28 22:25

我来回答

2个回答

热心网友 时间:2022-04-10 06:35

转:
默认情况下,推荐使用 IS NOT NULL去做条件判断,因为SQL默认情况下对WHERE XX!= Null的判断会永远返回0行,却不会提示语法错误。
SQL Server文档中对Null值的比较运算定义了两种规则,如在SQL Server 2000中:
规则一是是ANSISQL(SQL-92)规定的Null值的比较取值结果都为False,既Null=Null取值也是False。另一种不准循ANSISQL标准,即Null=Null为True。:
例如数据表test结构:
ROWNUM DATA
-------------------
1 'Liu Yang'
2 Null
3 '12345'
按照ANSI SQL标准,下面的两个查询都不返回任何行:
查询一: SELECT * FROM test WHERE data=NULL
查询二: SELECT * FROM test WHERE data<>NULL
而按照非ANSI SQL标准,查询1将返回第二行,查询2返回1、3行。
这是因为在SQL中,NULL是一种特有的数据类型,其等价于没有任何值、是未知数。NULL与0、空字符串、空格都不同。
ANSI SQL标准中取得Null值的行需要用下面的查询:
SELECT * FROM test WHERE data IS NULL
由此可见非ANSI SQL标准中data=NULL等同于data IS NULL,data<>NULL等同于data IS NOT NULL。
所以我们要牢记:默认情况下做比较条件时使用关键字“is null”和“is not null”。
如果你一定要使用!= null来进行条件判断,需要加上这个命令语句:SET ANSI_NULLS OFF,这时数据库进入ANSI SQL非标准模式,你会发现IS NOT NULL 和 != null 是等效的了。
这里使用的是模式切换命令SET ANSI_NULLS[ON/OFF]。ON值采用ANSI SQL严格标准,OFF值采用非标准兼容模式。另外SET ANSI_DEFAULTS [ON/OFF]命令也可以实现标准的切换,只是这个命令控制的是一组符合SQL-92标准的设置,其中就包括Null值的标准。
默认情况下,数据库管理程序(DB-Library)是SET ANSI_NULLS为OFF的。但是我们的大多数应用程序,都是通过ODBC或者OLEDB来访问数据库的,作为一种开放兼容的数据库访问程序,或许是兼容性的考虑,SETANSI_NULLS值设置为ON。这样一来带来的一些问题是需要注意的。像存储过程或者自定义函数这样的应用程序都是基于DB-Library的,默认情况下,SETANSI_NULLS为OFF,并且在这样的程序中,不能使用SETANSI_NULLS在一个环境中修改规则,只能修改数据库配置参数。
例如下面这种情况:你的应用程序使用ADODB来访问数据库,采用OleDb或者ODBC数据提供程序。对于查询一: SELECT * FROM test WHERE data=NULL
我们可以直接发送命令取得查询结果集,也可把它放到存储过程当中。但二者查询结果不同。若直接使用查询命令,不返回任何行;而如果访问存储过程,返回第2行的数据。
最后,我们再次声明:数据库默认情况下,做SQL条件查询比较时使用关键字“is null”和“is not null”。

热心网友 时间:2022-04-10 07:53

<>''只能判断空字符串,is Null是对Null字符的判断,两种完全不同的数据。一个是空字符,是个字符串,只不过是没有值,另一个是空值(Null)。
Null在数据库中是特有的一类数据。

='' 和<>''
is null和is not null
oracle &lt;&gt;' ' 和 is not NULL的区别?

我们可以直接发送命令取得查询结果集,也可把它放到存储过程当中。但二者查询结果不同。若直接使用查询命令,不返回任何行;而如果访问存储过程,返回第2行的数据。最后,我们再次声明:数据库默认情况下,做SQL条件查询比较时使用关键字“is null”和“is not null”。

oracle,查非空数据,是is not null好,还是lenght&gt;0,好,两个,哪个效率高...

is not null,用不了索引。length 可以建立一个函数索引。不过看数据情况,可能索引用途不大。

oracle 中is null 和=null有说明区别?

在oracle中,判断一个字段或者一个变量是否为null 语法是 is null。返回的结果是boolean型。如果使用 = null,会返回null。如果在代码或语句中使用,可能会获取不到结果或者报错。另外,null并不表示不存在,而是未知,我们通常成为“UNKNOWN”。

Oracle 中 查询语句 is null 的字段,注意与=''的区别是什么?

IS NULL是判断某个字段是否为空,为空并不等价于为空字符串或为数字0;而 =NULL 是判断某个值是否等于 NULL,NULL = NULL和NULL &lt;&gt; NULL都为 FALSE。

在查询SQL语句中为空或者不为空的字段应该怎么写?

如果是空字符串就字段名= '' 。如果是不等于空字符字段名 &lt;&gt; ''。如果是 null值 就是 字段名is null或者not null。oracle sql查询结果为空时如何显示一条空记录:1、我们来看下oracle sql普通查询时查询结果为空时的显示情况如下图所示。可以看到没做特殊处理时查询结果中一条记录都没有,此处...

oracle有and not这个用法吗

oracle中并没有and not的用法,not一般是与is或者in或者exists一起使用的,比如判断某个字段为空或不为空 字段名 is null 或者 字段名 is not null 例如:select a.* from a where a.num='12' and a.name='34' and sex is not null 判断性别不为空。此外还有not in 和not exists ,都...

Oracle通配符,运算符的使用

范围 beeen……and not beeen……and 匹配测试 like not like Null测试 is null is not null 布尔链接 and or not 通配符 在where子句中 通配符可与like条件一起使用 在Oracle中 (百分号) 用来表示任意数量的字符 或者可能根本没有字符 _(下划线) 表示确切的未知字符 ?(问号) 用来表示确切...

Oracle中查询某字段不为空的SQL语句怎么写

sql中判断非空不能用等号,因为null在sql中被看作特殊符号,必须使用关键字 is和not select * from A where info is not null 问题延展:不为空有2中种,不是空值 is not null 不是空格 &lt;&gt;""

ORACLE优化SQL语句,提高效率(2)

( )避免在索引列上使用IS NULL和IS NOT NULL 避免在索引中使用任何能够为空的列 Oracle将无法使用该索引 对于单列索引 假如列包含空值 索引中将不存在此记录 对于复合索引 假如每个列都为空 索引中同样不存在此记录 假如至少有一个列不为空 则记录存在于索引中 举例 假如唯一性索引建立在表的A列...

oracle 查询条件中判断两个字段相等时 一个字段为空则跳过

是当某值为空 赋给什么值 不符合楼主的要求 --我帮你改下 执行时 先判断全面的条件 就过滤掉了空值 还有‘’ 和null 是不一样的 所以都要过滤 --希望解决了楼主的问题 where t&lt;&gt;'' and t is not nul and t2&lt;&gt;'' and t2 is not null and t.dataTime=t2.dataTime ...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
...北美-南美经向超长分段剖面(A&lt;sub&gt;1&lt;/sub&gt;—A&lt;sub&gt;6&lt;/sub&gt;)_百度... 扎普—多不杂岩浆弧带(Ⅲ&lt;sub&gt;3&lt;/sub&gt;) 问题:李世民和武则天是什么关系? 班公湖—怒江蛇绿混杂带(Ⅴ&lt;sub&gt;1&lt;/sub&gt;) 昌都—兰坪地块(Ⅰ&lt;sub&gt;3&lt;/sub&gt;) 电饭锅做菜的技巧有哪些须知 适合我们俩的好日子 9-12月登记的好日子 ...了当兵,学校保不保留学籍,是不是几年都保留 四川师范大学自考容易通过吗?为什么给我发了通知书但是川师官网上查不... 关于四川师范大学银联卡的问题,急切ING~~ 惠普台式电脑,打开主机电源键,电源键灯亮,但电脑无任何反应,什么原因,怎么修理? Not IsNull 是什么意思? 电脑主机按开机键灯闪一下就没反应了 SQL Server 的逻辑运算符IS NULL和 IS NOTNULL的返回类型是什么?_百度... 我的台式电脑主机,按开机键闪下灯就没反映了,再按一点用也没有 怎么样才能让自己的比紧一点 电脑按了开机键后主机灯亮了一下,就没反应了。 怎样知道自己紧张不紧张 男朋友说还紧,可自己怎么不觉得紧了呢 电脑 按开机键闪了一下就没反应 如何判断自己大不大。我进去的时候她说慢点慢点半天进去发现很紧? 请问台式电脑按电源键,闪一下就没有反应了。怎么回事? 怎样才能让自己不紧张 为什么电脑开机时主机指示灯亮一下就没反应了 自己感觉不紧怎么办 台式机电脑开机时键盘灯亮了,开机后没反应是什么情况,有大神知道吗? 怎么样看得出男朋友紧不紧张自己? 台式电脑无法启动,按下开机键电源灯闪一下就什么反应都没 梦见雨水顺着墙缝往屋里漂,雨水特别大,整面墙都是? 怎么看胸罩的紧不紧 电脑键盘开机的时候亮了一下就没反应 ACCESS SQL中NOT操作 NOT(字段名)is null是什么意思,和字段名 is not null有什么差别吗? sql的where条件中是否null相关条件怎么写 oracle,查非空数据,是is not null好,还是lenght&gt;0,好,两个,哪个效率高... 能讲解一下IsNull吗? 外星人m18怎么关闭硬盘自检 外星人电脑开机出现checking media presence 怎么办啊?,但可以正常进电脑 sql判断字段是否为空 外星人笔记本电脑开机突然自我检测为什么 外星人笔记本x811主板自检需要按什么 access数据库中查询条件不为空,怎么写 外星人笔记本开机突然自我检测为什么 SQL中用isnull函数求和时怎么去除重复项,如下代码。请各位高手赐教 sql server中如何理解:isnull(列名,0) 和 isnull(列名,0)&lt;&gt;0 的... Sybase的where条件中 = null和 is null有什么区别 sql查询语句如下 如何开启戴尔笔记本电脑自检程序。。。请高手 外星人x51怎么从boot进入自检 Oracle数据库查询条件null和空字符串&#39;的区别 戴尔外星人 笔记本 开机卡在logo处 无法进入系统,可以进入bios ,还有戴尔自带的硬件检测!
  • 焦点

最新推荐

猜你喜欢

热门推荐