问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

sql语句 not in在表里有空值时就查询不到

发布网友 发布时间:2022-04-11 19:00

我来回答

7个回答

热心网友 时间:2022-04-11 20:29

操作列中存在空值时,相当于你那实际类型值和null值比较,是无法比较的,必须将null类型值通过isnull函数转换为一个字符型的值,这样才可以正常比较追问应该是循环比较的吧。遇到null值了,后面的难道终止比较了?

追答应该是这样,属于oracle内部执行机制,也不算报错,就是比不出结果了

热心网友 时间:2022-04-11 21:47

select * from table1 where table1.columnA not in(null)
是找不到结果的。你用函数isnull()来把空值用0来代替。则找到table1中列1 not in 0的记录。追问我知道. 就是不明白是咋滴原因。

追答就是因为表2里的列2有空值的行
例如结果是1,3,54,null,那么表1中列1 not in (1,3,54,null)的话,因为有null就会没有任何结果。
你查 in(null) 或 not in (null) 都没有结果。因为null代表没有任何内在分配。

热心网友 时间:2022-04-11 23:22

NULL 值是一个非常头疼的东西,建议入库后赋于默认值。
select * from (
select null as col1 from al)
where col1 not in ('A1','A2') 或
where col1 in ('A1','A2')
你会发现什么也出不来。

热心网友 时间:2022-04-12 01:13

null是这样的,null不等于空

热心网友 时间:2022-04-12 03:21

空值用null字符串来代替不行吗?

热心网友 时间:2022-04-12 05:46

数据类型不匹配原因
用表一中的列1套入列2中循环---->碰到 NULL 错误退出
参考:SQL-3标准中把一个NULL定义为:
“一个用来指明任何数据值都不存在的一个特殊值”
NULL是系统存储过程中的特殊值 ,不是零(一个合法数值)、也不是零长度串(不含有字符的一种串数据类型)、更不是空格字符。
所以 SQLServer 中有一个空值调用函数:
ISNULL ,功能就是使用指定的值去替换NULL
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...的电器到成都,请问一下,那个航空快一些呀,多少/公斤? 前女友和我分手一年之后,出车祸死了,我很高兴,这种心理是不是不... 为什么听到前女友去世的消息,我竟然放声大哭,她很爱我,是我对她腻了... 兰州银行充天然气必须要本行卡吗 从服饰礼仪看中西方文化差异 为什么iqoo11评价那么低? 相机快门线的运用范围 快门线是干什么用的 请问这是什么虫子 还挺硬的 在楼房内 整理箱上面发现的 屋内有木质上... 请问这是什么虫子?家里抓到,2cm左右。坐标北京,昌平,冬季12月,楼房... 为什么sql里面not in后面的子查询如果有记录为NULL的,主查询就查不到记录 oracle 我需要将数据库里面的数据导出 然后重装oracle 但是提示无监听 重装系统后不重装oracle 如何设置arcsde 10 for linux启动 devart dotconnect for oracle 编码问题 devart oracle能直接连接64位oracle吗 怎样用Delphi编程实现客户端免安装Oracle? 在weblogic11g中如何创建oracle10.2数据源,选择哪一个驱动程序.. oracle新件索引估计表空间大小 如何查看ORACLE 表空间上的所有对象?表 视图.索引 等占的大小 查询出oracle数据库所有的索引(存储过程,job,squeuse等) 数量 如何查看Oracle表以及索引的存储空间 Arccatalog中通过Arcsde导入oracle后,我用SQL Developer打开后字段错误和丢失怎么办 啊? 怎么将oracle数据导入到arcgis oracle如何导入arcsde表空间 怎么在ArcSDE中使用Oracle分区表2索引分区 / 网络技术编程 Pro*C/C++连ORACLE数据的问题 执行到EXEC SQL connect :BUREAUDB/BUREAUDB@orcl;这句就不往下执行了。 Oracle EM 无法启动 oracle版本问题 oracle11.2.0是什么版本 oracle中not in 传入空值怎么处理 pl/sql中的not in与in的sql语句问题 SQL server中,如果出现in和NULL在一起时应该怎么写语句呀 oracle的sql中not in如何优化 ORACLE的SQL语句,错在哪了,怎么老是未选定行 oracle 中not in 和 not exists 哪个效率高? ORACLE 查询in和not in 有没有碰到过用IN查询数据有时会不准确,特别是关联字段有为空的时候,而用exists就不会 oracle 怎么修改parallel oracle 是否可以同时进行多个表分析 ArcSDE for Oracle怎么恢复误删除的要素类和要素 / 蓝讯 怎样在ArcSDE中操作Oracle分区表2 安装arcsde for oracle 10g R2,最后一步出错 win8.1下安装oracle11g安装时弹出下面的 求大神赐教 win8.1安装oracle 11g时点击set.up进入dos都就自动退了 win8.1中安装oracle11g问题 新系统,直接安装oracle 11g 64位客户端,服务中无oracle相关服务,注册表中也没有,是为什么? linux操作系统安装oracle11G在创建数据库实例时候遇到的问题 Raster Catalog和Raster Dataset的区别 ArcGIS Server服务注册到oracle数据库上,地图字段Fields变为大写 怎样才能变为小写