SQL 中 NULL值测试代码
刚刚想从数据库中的表EXPERT_DETAILS中检索出修改人Modifier(类型 VARCHAR2(20),可为空)为空的那些记录,因为该字段的类型为VARCHAR2(20),我使用的SQL语句为
代码如下:
select * from expert_details twhere t.modifier = ''
没有检索出一条记录,而这与存储在该表中的记录是不相符的。后来想到即便是空字符型存储在数据库中也应该是NULL而不是''。
然后我使用下列SQL 语句,仍然没有检索出一条记录。
代码如下:
select * from expert_details t
where t.modifier = null
最后我想到了SQL中的NULL 值测试。使用如下语句,终于检索出了想要的结果。
代码如下:
select * from expert_details t
where t.modifier is null
在SQL语句中,where 子句:where t.modifier = null ,这里不可以使用NULL关键字,因为它不是一个真正的值,它仅仅是一个符号,因为它的值是未知的。当t.modifier本身就是null时,即where子句为:where null= null ,当等号两边的值都是未知的时候,结果是TRUE还是FALSE,SQL不能给出一个明确的结果,所以查询出的结果也为NULL。
因此必须明确使用NULL值测试即 字段 IS NULL 或者其否定形式 字段 IS NOT NULL 来检测NULL值。
相关推荐
-
SQL 中 NULL值测试代码
刚刚想从数据库中的表EXPERT_DETAILS中检索出修改人Modifier(类型 VARCHAR2(20),可为空)为空的那些记录,因为该字段的类型为VARCHAR2(20),我使用的SQL语句为 复制代码 代码如下: select * from expert_details twhere t.modifier = '' 没有检索出一条记录,而这与存储在该表中的记录是不相符的.后来想到即便是空字符型存储在数据库中也应该是NULL而不是''. 然后我使用下列SQL 语句,仍然没有检索出一条记录
-
vue更改数组中的值实例代码详解
根据下标更改时 vm为新建的vue对象 ind为数组 第一个e为在数组ind中e索引位置 第二个e为更改为值e vm.$set(vm.ind,e,e) 常规更改 arr为数组 //添加 arr.push(1); //删除 arr.splice(*,*); //替换 arr.splice(*,*,*); splice方法 实例 例子 1 在本例中,我们将创建一个新数组,并向其添加一个元素: <script type="text/javascript"> var arr = n
-
解决Go语言数据库中null值的问题
本文主要介绍如何使用go语言database/sql库从数据库中读取null值的问题,以及如何向数据库中插入null值.本文在这里使用的是sql.NullString, sql.NullInt64, sql.NullFloat64等结构体,为了方便书写,它们的泛指我会使用sql.Null***来表示 要点 从数据库读取可能为null值得值时,可以选择使用sql.NULL***来读取:或者使用IFNULL.COALESCE等命令让数据库查询值返回不为""或者NULL 若需要往数据库中插入
-
java正则替换sql中的参数实例代码
目录 前言 要求: 分析: 代码: 测试: 总结: 前言 在处理sql参数的时候,替换圆括号里面只处理了一种情况.而没有从整体上进行处理!!! 这是一个思考问题上严重的偏向. 考虑问题时候,要先从整体开始考虑,逐步分解,再细分到局部! 要求: 替换sql里面的参数: SELECT a.table_id, a.table_title, a.table_name, a.table_serial, b.STAFF_NAME , b.REGION_NAME, b.operatingsystem, b.r
-
JS 去除Array中的null值示例代码
复制代码 代码如下: function ClearNullArr(arr){ for(var i=0,len=arr.length;i<len;i++){ if(!arr[i]||arr[i]==''||arr[i] === undefined){ arr.splice(i,1); len--; i--; } } return arr; }
-
JS 获取span标签中的值的代码 支持ie与firefox
ie支持outerText,firefox支持textContent 复制代码 代码如下: if (isIE) { var spanTest=document.getElementById('spanTest'); spanValue = spanTest.outerText; } else { spanValue = spanTest.textContent; }
-
动态创建样式表在各浏览器中的差异测试代码
复制代码 代码如下: <!doctype html> <head></head> <body> <span id="con">xxx</span> <script> var css = document.createElement('style'); css.setAttribute('type', 'text/css'); var cssText = 'span{color:Red;}'; if(cs
-
SQL 复合查询条件(AND,OR,NOT)对NULL值的处理方法
NULL值影响查询条件的结果,并且结果很微妙. 以下是SQL中AND,OR,NOT的真值表. 表1 AND的真值表 TRUE FALSE NULL TRUE TRUE FALSE NULL FALSE FALSE FALSE FALSE NULL NULL FALSE NULL 表2 OR的真值表 TRUE FALSE NULL TRUE TRUE TRUE TRUE FALSE TRUE F
-
在SQL中该如何处理NULL值
在日常使用数据库时,你在意过NULL值么? 其实,NULL值在数据库中是一个很特殊且有趣的存在,下面我们一起来看看吧: 小伙伴想精准查找自己想看的MySQL文章?喏 → MySQL专栏目录 | 点击这里 在查询数据库时,如果你想知道一个列(例如:用户注册年限 USER_AGE)是否为 NULL,SQL 查询语句该怎么写呢? 是这样: SELECT * FROM TABLE WHERE USER_AGE = NULL 还是这样? SELECT * FROM TABLE WHERE USER_AGE
-
Oracle数据库中对null值的排序及mull与空字符串的区别
order by排序之null值处理方法 在对业务数据排序时候,发现有些字段的记录是null值,这时排序便出现了有违我们使用习惯的数据大小顺序问题.在Oracle中规定,在Order by排序时缺省认为null是最大值,所以如果是ASC升序则被排在最后,而DESC降序则排在最前.所以,为何分析数据的直观性方便性,我们需要对null的记录值进行相应处理. 这是四种oracle排序中NULL值处理的方法: 1.使用nvl函数 语法:Nvl(expr1, expr2) 若EXPR1是NULL,
随机推荐
- SQL Server 2012 安装图解教程(附sql2012下载地址)
- .net实现webservice简单实例分享
- Vue.js如何实现路由懒加载浅析
- bootstrap modal+gridview实现弹出框效果
- Java编程子类能否重写父类的静态方法探索
- .net 应对网站访问压力的方案总结
- ReactNative短信验证码倒计时控件的实现代码
- js实现鼠标拖动图片并兼容IE/FF火狐/谷歌等主流浏览器
- 基于JavaScript实现快速转换文本语言(繁体中文和简体中文)
- jquery获取URL中参数解决中文乱码问题的两种方法
- MySQL 字符串函数大全
- 无组件实现文件上传/下载
- jQuery+PHP打造滑动开关效果
- JAVA创建和销毁对象的方法
- Android自定义单例AlertDialog详解
- 使用javascipt---实现二分查找法
- 如何利用“IP地址欺骗”
- C#实现winform中RichTextBox在指定光标位置插入图片的方法
- PHP3 safe_mode 失效漏洞
- 简单的socket编程入门示例